# WORK-039 V3 — exception list

Unspecified means preserve. These are the places a named change could not be completed without touching an adjacent element, or where a substitute was required.

1. **Screen 1 background is a JPEG of the supplied PNG, not the 10.4MB PNG itself.**  
   Source PNG: `https://roover-company-atlas.pages.dev/start-kernel/evidence/penshurst-aerial-mike-20250711.png`  
   PNG SHA-256: `83292283b1d3fab0c2d403076f93b5f48077d04dc40fb2cb433b93fad648010b`  
   JPEG used: `penshurst-aerial-mike-20250711.jpg` · SHA-256 `cddba92e5b429f7e507c2e5583a20e2589d69788aec9ee03079a797a3db24ab8`  
   Same 528KB JPEG V2 already used. Crop stays inside the existing full-bleed area (`cover`, 48% / 40%). Nearmap line is preserved.

2. **Screen 1 does not replace the global `--aerial` token.**  
   Swapping `--aerial` would restyle every later roof canvas, including screens 8–24. The Penshurst image is applied only through `.start-aerial` on screen 1. Fixture `--aerial` (60 Benaroon) is unchanged.

3. **Screen 1 Nearmap chip is present on the restored v4 composition.**  
   Surgical v4 start had no attribution chip. The handoff requires Nearmap provenance for Mike’s aerial, so a small chip is added inside the existing background area. It does not move the address module.

4. **Screen 1 address field is the Surgical v4 module, not V2’s live `<input>`.**  
   Restoring v4 full-screen composition required returning the v4 field + “Find my roof” stack. A live input cannot sit in that module without changing v4 position, dimensions, or interaction. Demo still advances on the button.

5. **Screen 3 / 6 review Pause, Replay, Step sit outside the phone.**  
   Adding those controls inside the homeowner canvas would add a CTA on the scan / brief-build screens, which is forbidden. They are reviewer chrome next to the existing walk nav. On viewports below 700px the walk nav and motion bar hide (same as V2). Use `?review=1` to start those two screens paused.

6. **Screen 4 multi-select does not rewrite Job Brief row copy.**  
   The homeowner can select main house, garage, and outbuilding together. The Job Brief still prefills “Roof in scope / Main building · 357 m² guide”. Changing that row would change data meaning. Visual selection is recorded in `scopeSel` and shown on screens 4–5 only.

7. **`roof()` `selectedRoof` now accepts an array.**  
   Required so screen 4 can select more than one existing outline. Call sites that pass `true`, `1`, or a string (including screens 8–24) behave as before.

8. **`persistRoof()` gained an optional fourth argument** (`height` or `"fill"`).  
   Existing three-argument calls, including any later use, keep the V2 328px canvas.

9. **Screen 5 drops V2’s seven source-tagged fact cards.**  
   Named requirement is a concise credible summary, not another scan. Pills reuse V2/v4 facts. Uncertainty is one quiet line rather than a seventh card. Source tags (`observed` / `derived` / `estimated` / `uncertain`) are not shown on this screen.

10. **Screen 3 feature pills are illustrative labels, not a detection model.**  
    “Main roof”, “Tile”, “Steep pitch”, “Skylight” are placed on the existing fixture. No new polygons, confidence scores, or countdown.

11. **Auto-progress timings are fixture durations, not production load times.**  
    Screen 3: 2200ms. Screen 6: 3000ms (Surgical v4 brief-build timing). Honest preview only. `prefers-reduced-motion: reduce` skips auto-progress; the status line remains clickable.

12. **Unused V2 CSS for the split dock remains in the stylesheet.**  
    Removing it would be an unsolicited restyle of shared CSS. It is unused on screens 1–6 after the correction and unused on 8–24 as before.
