# HDL Lab — Synthetic Practice Dataset

A small, hand-keyed multimodal dataset so the hands-on weeks have **real data to
bite on** instead of toy literals. Everything here is generated and safe to share.

## What's in it

- `images/` — 12 generated images: **6 prompt-adherence pairs** (`pairNN_A`,
  `pairNN_B`). For each pair, both images were shown the *same* target brief, but:
  - **A** was generated from the faithful target prompt → **high adherence**
  - **B** was generated from a deliberately deviating prompt → **low adherence**
    (specific missing/wrong elements are logged in `labels.csv`)
- `prompts.csv` — the 6 target prompts a reviewer scores against.
- `labels.csv` — the **gold answer key**: per-image adherence score (1–5) + the
  exact deviations. Don't peek until you've scored them yourself.
- `preference_pairs.jsonl` — the reward-model-ready `chosen`/`rejected` export
  (the correct preference is always A over B, on adherence).
- `sample_annotations.csv` — two *simulated* annotators' scores, with realistic
  disagreement on the borderline calls. Feeds the agreement exercise.

## How to use it, by week

| Week | Exercise | Use this |
|------|----------|----------|
| **2** (rubric) | Score the 12 images on your prompt-adherence rubric | `images/` + `prompts.csv` |
| **3** (agreement) | Compute Cohen's κ between the two annotators; inspect disagreements | `sample_annotations.csv` |
| **3** (gold sets) | Treat `labels.csv` as your gold set; measure a rater's accuracy | `labels.csv` |
| **4** (preference) | Reproduce `preference_pairs.jsonl` from your own scores | `images/` + `preference_pairs.jsonl` |
| **5** (multimodal) | Apply your video/image rubric; flag borderline items | `images/` |
| **6** (eval) | Hold out 2 pairs as an eval set; the other 4 are dev | all |
| **9** (QA) | Inject `labels.csv` items as gold; run a mock audit | `labels.csv` |

## The honest caveat

This is a *teaching* set: 6 pairs is far too small to train anything. Its job is
to make the **method** concrete — scoring, agreement, gold accuracy, preference
export — on data you can actually open and argue about. Scale is Week 8's problem.
