# MEDIA-001..007 — Product media audit/resolver wave

Status: IN PROGRESS
Issue: #184
Branch: `agent/media-001-007-product-media`
Parent: #85 UI Task Master

## Implemented in this wave

- MEDIA-001 ✅ candidate: audited current bundle and documented stable released variant IDs in `docs/ui/PRODUCT_MEDIA_MANIFEST.md`.
- MEDIA-002 ✅ candidate: created tracked production directories at `mobile/assets/products/drawer/` and `mobile/assets/products/lunch/`.
- MEDIA-003 ✅ candidate: declared both product directories in `mobile/pubspec.yaml` so admitted images are bundled by Flutter.
- MEDIA-004 ✅ candidate: added stable variant-id resolver plus one production registry for White/Gray/Blue/Pink/Green canonical paths.
- MEDIA-005 ✅ candidate: preserved deterministic `WalkaPaintedProductMedia` fallback.
- MEDIA-006 ✅ candidate: missing/corrupt asset load exposes explicit fallback semantics rather than a blank media surface.
- MEDIA-007 ✅ candidate: bounded asset decode/cache width defaults to 1200 and is tested/documented.
- Owner-visible Home collection cards now request variant media through the resolver.
- Owner-visible Categories/Search product rows now request variant media through the resolver.

## Canonical production filenames

- `assets/products/drawer/white.png`
- `assets/products/drawer/gray.png`
- `assets/products/lunch/blue.png`
- `assets/products/lunch/pink.png`
- `assets/products/lunch/green.png`

Actual product-photo binaries are not yet present under those paths. Until they are committed, the current painted visuals remain visible by design. No full-screen UI reference PNG is substituted for product photography.

## Guardrails

- Protected `Images/` unchanged.
- No product photography invented or generated as a substitute for approved product assets.
- Existing painted fallback remains deterministic when a canonical production asset is absent or corrupt.
- Product/variant resolver keys follow bundled catalog IDs.
- Product facts, Favorites persistence and Amazon purchase behavior are unchanged.

## Required validation

- [ ] `flutter analyze` Green on final PR head.
- [ ] Full Flutter tests Green on final PR head.
- [ ] Android release APK Green on final PR head.
- [ ] PR merged to stable `main`.
- [ ] Stable-main APK publication Green.
- [ ] Completed statuses reconciled in `TASKS.md` after merge.
