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

43 lines
1.2 KiB
Markdown

# Tasks: enterprise-compress-image
## 1. Scaffold
- [x] 1.1 `universal/compression/compress-image/`; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.
## 2. Errors + schemas
- [x] 2.1 `src/error-codes.ts`, `src/errors/compression-errors.ts`.
- [x] 2.2 Zod schemas per type.
## 3. Format adapters
- [x] 3.1 `src/adapters/jpeg.ts` (jsquash/jpeg).
- [x] 3.2 `src/adapters/png.ts` (jsquash/png).
- [x] 3.3 `src/adapters/webp.ts` (jsquash/webp).
- [x] 3.4 `src/adapters/avif.ts` (jsquash/avif).
- [x] 3.5 Co-located `.md` + fixture tests.
## 4. Resize
- [x] 4.1 `src/resize/resize.ts` — max-dimension constraint via jsquash/resize.
## 5. Planner / compressor
- [x] 5.1 `src/planner/planner.ts` — build `CompressionPlan` from `ResolvedCompressionOptions`.
- [x] 5.2 `src/compressor/image-compressor.ts` — `ImageCompressor`.
- [x] 5.3 OTel histogram + counter + gauge.
## 6. Presets / constants
- [x] 6.1 `src/types/compression.types.ts` exports `QUALITY_PRESETS`, `VALID_FORMATS`, `VALID_PRESETS`, `FORMAT_QUALITY_RANGES`, `MAX_DIMENSION`.
## 7. Docs / barrel / subpath exports / README
## 8. Benchmarks
- [x] 8.1 Compress 1 MB / 10 MB test images per format.
## 9. Ship gate
- [x] 9.1 Verification sequence; fold + archive.