# Tasks: enterprise-exif ## 1. Scaffold - [x] 1.1 `universal/media/exif/`; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS. ## 2. Errors + schemas - [x] 2.1 `src/errors/exif-error.ts` — codes. - [x] 2.2 Zod schemas for ExifData, ImageMetadata, MetadataPatch, IccProfile. ## 3. Binary primitives - [x] 3.1 `src/binary/reader/*` — `ByteReader`, `ByteOrder`. - [x] 3.2 `src/binary/writer/*` — `ByteWriter`. - [x] 3.3 `src/binary/rational/*` — rational arithmetic + property tests. - [x] 3.4 `src/binary/crc32/*`, `src/binary/md5/*`. ## 4. IFD engine - [x] 4.1 `src/ifd/entry/*` — entry codec + `TIFF_TYPE`. - [x] 4.2 `src/ifd/parse/*` — `parseTiff`. - [x] 4.3 `src/ifd/build/*` — `buildTiff`. - [x] 4.4 Round-trip property test on random IFD trees. ## 5. Format readers/writers - [x] 5.1 JPEG segments `src/formats/jpeg/*`. - [x] 5.2 PNG chunks `src/formats/png/*`. - [x] 5.3 TIFF `src/formats/tiff/*`. - [x] 5.4 WebP chunks `src/formats/webp/*`. - [x] 5.5 ISOBMFF/HEIC box reader + read/write `src/formats/isobmff/*`. - [x] 5.6 RAW dispatch `src/formats/raw/dispatch/*`. - [x] 5.7 Real-image fixture tests per format. ## 6. Core dispatch - [x] 6.1 `src/core/detect/*` — `detectImageFormat`. - [x] 6.2 `src/core/read/*`, `src/core/write/*`, `src/core/strip/*`. - [x] 6.3 OTel histograms per format. ## 7. Metadata sub-systems - [x] 7.1 GPS: convert + timestamp. - [x] 7.2 ICC: read / write / validate / convert (classifyProfile, isSRGB, isAdobeRGB, isDisplayP3, profileDescription). - [x] 7.3 IPTC: read / write. - [x] 7.4 XMP: read / write + namespaces. ## 8. MakerNotes - [x] 8.1 Dispatch + Apple bplist + Apple + Canon + Nikon (+ cipher) + Sony (+ cipher). ## 9. Differential fuzz - [x] 9.1 Differential harness vs `exifr` on 1 000-image corpus; record discrepancies. ## 10. Docs / barrel / subpath exports / README / benchmarks ## 11. Ship gate - [x] 11.1 Verification sequence; fold + archive (merge with main-branch `exif-migration` delta).