promptdojo_
Checkpoint

One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.

Final drill. You're auditing a real image pipeline at an agency. Write audit_image_pipeline(tasks) that takes a list of task dicts (same shape as the previous step) and returns a list of dicts, one per task, in the same order:

{"task_id": ..., "model": ..., "specialist_used": bool}

model comes from your pick_image_model(task) routing. specialist_used is True if the chosen model is one of the three specialty picks: ideogram-3, flux-kontext-pro, or flux-1.1-pro. Everything else is False (including the budget fallback gpt-image-1-mini).

Each task carries a task_id field (string). Preserve it in the output.

Five tasks run. Expected output:

T1: ideogram-3        specialist=True
T2: flux-kontext-pro  specialist=True
T3: nano-banana       specialist=False
T4: midjourney-v7     specialist=False
T5: gpt-image-1-mini  specialist=False

this step needs the editor

on desktop today; in the app (coming soon). save your spot and we'll bring you back here when you're ready.

open this same url on a laptop to keep going today.