# Diego's Campaign-Attribution Report &mdash; Schema

Flat CSV in `diego-campaign-attribution.csv`. Three logical row groups distinguished by `section`.

## Columns

| Column | Type | Description |
| --- | --- | --- |
| `section` | text | `cold_failure`, `csar_crystallize`, or `csar_refine`. |
| `id` | integer or text | Failure-mode id (`measure`, `grain`, `narrative`) for cold rows; question number for crystallize rows; correction index for refine rows. |
| `label` | text (quoted) | Failure kind (cold), question text (crystallize), or correction kind (refine). |
| `copilot_pick` | text (quoted) | Cold: what Copilot picked. Crystallize: Diego&rsquo;s answer. Refine: chart being corrected. |
| `diego_intended` | text (quoted) | Cold: what Diego intended. Refine: the correction. Empty on crystallize rows. |
| `detection` | text (quoted) | Cold: how the failure was detected. Empty on other row types. |

The wide-shape schema keeps three heterogeneous logical row types in one CSV without splitting into three files. The `section` column disambiguates.

## Row inventory

- 3 `cold_failure` rows (measure, grain, narrative).
- 6 `csar_crystallize` rows (questions 1..6).
- 3 `csar_refine` rows (three corrections).

Total: 12 rows.

## Deliberate design choices

The wide-shape approach lets the reader (or an instructor building a workshop) load one CSV and pivot on `section` to work each phase in isolation. The three-section shape mirrors the CSAR loop&rsquo;s structure at a glance.

## License

Released for teaching use alongside *The Defensible Decision*. Use freely.
