# PDP-003..015 + PDP-017 — Modular Product Detail V112

Status: IN PROGRESS
Issue: #225
Reuses: Issue #171 / `agent/pdp-003-gallery-viewport`
Parent Batch: #121
Branch: `agent/pdp-003-017-v112`

## Atomic tasks
- PDP-003 ✅ candidate — reused the #171 gallery viewport contract and integrated stable variant media resolution.
- PDP-004 ✅ candidate — independent accessible gallery indicator with reduced-motion handling.
- PDP-005 ✅ candidate — dedicated fullscreen zoom viewer with 0.8–3.2× InteractiveViewer and SafeArea.
- PDP-006 ✅ candidate — extracted product identity block.
- PDP-007 ✅ candidate — extracted share/favorite action row and composed it inside the existing app bar without duplicate UI.
- PDP-008 ✅ candidate — generic selected-semantics variant selector for Drawer/Lunch.
- PDP-009 ✅ candidate — Product-Master-safe facts list.
- PDP-010 ✅ candidate — adaptive specification table with compact stacked rows.
- PDP-011 ✅ candidate — approved Lunch usage/carry guidance panel.
- PDP-012 ✅ candidate — explicit official-Amazon trust/disclosure block.
- PDP-013 ✅ candidate — SafeArea-aware sticky Amazon CTA with compact/text-scale fallback.
- PDP-014 ✅ candidate — `WalkaPdpPresentationModel` + composition-only V112 body; stable V100/V111 compatibility surfaces delegate to V112.
- PDP-015 ✅ candidate — representative iOS notch/home-indicator + 1.3× text regression coverage.
- PDP-016 ⛔ BLOCKED — no approved/classified PC Product reference exists; no desktop parity is invented.
- PDP-017 ✅ candidate — variants/gallery/zoom/favorite/Amazon/compact/iOS regression matrix plus existing full suite.

## Truth / compatibility
- Drawer White/Gray IDs and device-local persistent Favorites preserved.
- Lunch Blue/Pink/Green IDs, Pantones and current local favorite behavior preserved.
- 1200 ml / four compartments / SUS304 facts and approved dry/semi-wet/upright wording preserved.
- Drawer 8 compartments / 13×15×2 / expand-to-22.4 / non-slip / plastic facts preserved.
- Product imagery resolves production assets first and deterministic painted fallback second.
- Purchase remains selected official Amazon listing; no cart/checkout/payment.
- Protected `Images/` unchanged.
- Legacy V100/V111 route/type and variant-key contracts are retained for existing consumers/tests.
- QA-011/012 source-scan guard was reconciled on latest `main` via PR #234 so the same truth assertions follow modular source boundaries instead of forcing one monolithic file.

## Required validation
- [ ] Flutter Analyze Green.
- [ ] Full Flutter tests Green.
- [ ] Android runner / branding Green.
- [ ] Android release APK Green.
- [ ] PR merged to stable main.
- [ ] Stable-main verified APK publication.
- [ ] `TASKS.md` and Issues #171/#225 reconciled.
