# V97 RC4 Manual Batch Workflow

## Purpose

This release shifts image production back to the stable manual batch workflow:

1. Use Bildadmin to select one exercise.
2. Copy the full handoff prompt and download/open the athlete reference image.
3. Generate exactly one exercise image in the image-production chat.
4. User approves the image in chat.
5. Save the approved output as `<exerciseKey>.webp`.
6. Add approved files to `incoming/approved-figures/` or upload as draft in Bildadmin.
7. Import/copy approved files to `assets/img/exercises/figures/`.
8. The app uses the figure by convention without a manifest.

## Pilot batch

Primary athlete template: `next-athlete-blond-b`  
Alternative template: `next-athlete-blond-a`  
Master prompt: `next-athlete-reference-16x9-v3`  
Canvas: `1600 x 900 transparent WebP`

| exerciseKey | Name | Target path | Status |
|---|---|---|---|
| `linear-pogos` | Pogohopp framåt / Linear Pogos | `assets/img/exercises/figures/linear-pogos.webp` | prompt-ready |
| `bear-crawl` | Bear Crawl | `assets/img/exercises/figures/bear-crawl.webp` | prompt-ready |
| `burpee` | Burpee | `assets/img/exercises/figures/burpee.webp` | prompt-ready |
| `single-arm-row` | Enbensrodd / Single Arm Row | `assets/img/exercises/figures/single-arm-row.webp` | prompt-ready |

## Packaging import helper

Approved images can be dropped into:

```text
incoming/approved-figures/
```

Then imported with:

```bash
python3 tools/import-approved-figures.py   --from incoming/approved-figures   --to assets/img/exercises/figures   --status assets/data/image-admin/status.json   --template next-athlete-blond-b
```

This updates `assets/data/image-admin/status.json` and copies approved figures into the runtime convention path.

## Rules carried forward

- One exercise image per generation request.
- Use the supplied athlete reference image plus the full prompt package.
- Runtime figure path remains `assets/img/exercises/figures/<exerciseKey>.webp`.
- No SVG fallback system.
- No large JS image manifest.
- No app-runtime dependency on ChatGPT/API generation.
- API generation can later use the same prompt/status/upload contract.
