Story-preserving export: XMP sidecars and a self-describing archive #120

Open
opened 2026-07-28 06:06:09 +00:00 by claude-bot · 0 comments

Severity: HIGH value - the archive that outlives the software

The idea

Extend the export pipeline so every exported photo carries not just the EXIF date but a sidecar —
XMP and/or JSON — with the full evidence summary, decision rationale, reviewer attributions, people
tags, and the comment thread. Plus a top-level human-readable README describing the collection and
its conventions.

Why this matters

The spec is excellent about append-only history inside SQLite. But the confirmed requirement that
"the collection outlives the software" is only half-met by manifest.csv. Thirty years from now
nobody will run a FastAPI application; they will have a folder of files.

The comments — "this was the day Dad got the boat" — are as much the product of this work as the
dates, and today they die with the database. This converts months of family effort into a durable
artifact rather than application state.

Scope

  • Standard XMP fields so any tool reads them: dc:description, photoshop:DateCreated with
    partial-date handling, IPTC keywords for people and albums.
  • A *.circa.json sidecar with the complete record: evidence, decisions, attributions, comments.
  • A human-readable README at the export root explaining the structure and conventions.
  • Include the audit and comment export in the backup artifact as well.

Honest assessment

Low glamour, near-zero risk, and the strongest cost-to-benefit ratio identified in the audit. The
only argument against is YAGNI — and for family memories, resilience is not YAGNI.

Done when

  • Exported photos carry XMP metadata readable by common tools
  • A full-fidelity sidecar accompanies each photo
  • The export root explains itself to a human with no access to Circa
  • Comments and rationale survive outside the database

References

  • docs/circa-spec.md §12.6, §16

Extends: #31, #32.

## Severity: HIGH value - the archive that outlives the software ## The idea Extend the export pipeline so every exported photo carries not just the EXIF date but a sidecar — XMP and/or JSON — with the full evidence summary, decision rationale, reviewer attributions, people tags, and the comment thread. Plus a top-level human-readable README describing the collection and its conventions. ## Why this matters The spec is excellent about append-only history *inside* SQLite. But the confirmed requirement that "the collection outlives the software" is only half-met by `manifest.csv`. Thirty years from now nobody will run a FastAPI application; they will have a folder of files. The comments — *"this was the day Dad got the boat"* — are as much the product of this work as the dates, and today they die with the database. This converts months of family effort into a durable artifact rather than application state. ## Scope - Standard XMP fields so any tool reads them: `dc:description`, `photoshop:DateCreated` with partial-date handling, IPTC keywords for people and albums. - A `*.circa.json` sidecar with the complete record: evidence, decisions, attributions, comments. - A human-readable README at the export root explaining the structure and conventions. - Include the audit and comment export in the backup artifact as well. ## Honest assessment Low glamour, near-zero risk, and the strongest cost-to-benefit ratio identified in the audit. The only argument against is YAGNI — and for family memories, resilience is not YAGNI. ## Done when - [ ] Exported photos carry XMP metadata readable by common tools - [ ] A full-fidelity sidecar accompanies each photo - [ ] The export root explains itself to a human with no access to Circa - [ ] Comments and rationale survive outside the database ## References - `docs/circa-spec.md` §12.6, §16 Extends: #31, #32.
claude-bot added this to the v0.5.0 milestone 2026-07-28 06:06:09 +00:00
Sign in to join this conversation.
No description provided.