Implement the EXIF writing pipeline with hash verification #31
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Spec section 12.3 defines exactly how an approved date becomes EXIF metadata, with
different rules per precision level. This is the step that makes exported photos useful
in any ordinary photo application, and the rules exist to avoid asserting more precision
than the evidence supports.
Scope
The EXIF writing pipeline with per-precision rules and post-write hash verification.
Implementation notes
DateTimeOriginalper the precision rules in spec section 12.3:day— the exact approved daymonth— first day of the approved month, with month-level precision recorded separatelyyear— January 1 of the approved year, with year-level precision recorded separatelydecade— do not synthesize a capture date; auxiliary metadata and manifest onlyundated— no EXIF capture date at allUserCommentor equivalent.Without this, a month-precision date is indistinguishable from a day-precision one once
exported, and the nuance the whole product preserves is lost at the last step.
ImageDescription.of adding a date.
and 6.6). Record both
sha256_originalandsha256_exportedfor the manifest.rather than failing the run or silently skipping.
Done when
References
docs/circa-spec.mdsections 12.3, 6.6backend/app/services/exif_extractor.py(read side already exists)Depends on: export execution.