Files
suaveplan/openspec/archive/2026-04-19-enterprise-exif/tasks.md
2026-05-27 23:29:53 +01:00

1.9 KiB

Tasks: enterprise-exif

1. Scaffold

  • 1.1 universal/media/exif/; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.

2. Errors + schemas

  • 2.1 src/errors/exif-error.ts — codes.
  • 2.2 Zod schemas for ExifData, ImageMetadata, MetadataPatch, IccProfile.

3. Binary primitives

  • 3.1 src/binary/reader/* — ByteReader, ByteOrder.
  • 3.2 src/binary/writer/* — ByteWriter.
  • 3.3 src/binary/rational/* — rational arithmetic + property tests.
  • 3.4 src/binary/crc32/*, src/binary/md5/*.

4. IFD engine

  • 4.1 src/ifd/entry/* — entry codec + TIFF_TYPE.
  • 4.2 src/ifd/parse/* — parseTiff.
  • 4.3 src/ifd/build/* — buildTiff.
  • 4.4 Round-trip property test on random IFD trees.

5. Format readers/writers

  • 5.1 JPEG segments src/formats/jpeg/*.
  • 5.2 PNG chunks src/formats/png/*.
  • 5.3 TIFF src/formats/tiff/*.
  • 5.4 WebP chunks src/formats/webp/*.
  • 5.5 ISOBMFF/HEIC box reader + read/write src/formats/isobmff/*.
  • 5.6 RAW dispatch src/formats/raw/dispatch/*.
  • 5.7 Real-image fixture tests per format.

6. Core dispatch

  • 6.1 src/core/detect/* — detectImageFormat.
  • 6.2 src/core/read/*, src/core/write/*, src/core/strip/*.
  • 6.3 OTel histograms per format.

7. Metadata sub-systems

  • 7.1 GPS: convert + timestamp.
  • 7.2 ICC: read / write / validate / convert (classifyProfile, isSRGB, isAdobeRGB, isDisplayP3, profileDescription).
  • 7.3 IPTC: read / write.
  • 7.4 XMP: read / write + namespaces.

8. MakerNotes

  • 8.1 Dispatch + Apple bplist + Apple + Canon + Nikon (+ cipher) + Sony (+ cipher).

9. Differential fuzz

  • 9.1 Differential harness vs exifr on 1 000-image corpus; record discrepancies.

10. Docs / barrel / subpath exports / README / benchmarks

11. Ship gate

  • 11.1 Verification sequence; fold + archive (merge with main-branch exif-migration delta).