# Jeu de données : « Près du niveau de Claude Sonnet 5 avec le même corpus, pour une fraction du coût : ce que nous avons mesuré »

Ce jeu de données contient uniquement des chiffres. Les cas sont anonymisés : numérotés de 1 à 12, dans un ordre sans lien avec l'ordre interne. Il ne contient ni énoncé de cas, ni consigne, ni texte de notation, ni note rédigée. Pour recalculer les chiffres de l'article :

```
python recompute.py
```

Le script n'utilise que la bibliothèque standard de Python 3 et lit `scores.csv` dans son propre dossier, quel que soit le dossier courant. Il affiche des lignes `identifiant,valeur`. Il affiche aussi des clés que l'article ne cite pas : `a2.stage17.*` et `a2.stage18.*`, pour les autres modifications que nous avons évaluées.

Les chiffres de la section « Économie de la chaîne de rédaction » (jetons, prix, coûts) ne sont pas dans ce jeu de données, pas plus que le tableau comparatif entre notre chaîne et Claude : ils se recalculent avec le jeu de données de l'article « L'IA peut-elle préparer une note fiscale ? Ce que nous avons mesuré », `../le-corpus-pas-le-modele/README.md`.

## Fichiers

- `scores.csv` : une ligne par note notée. Colonnes : `arm` (exécution du banc d'essai), `cas` (1 à 12), `run` (essai), `score` (0 à 10), `verdict`, `conclusion`, `majors` (nombre de défauts majeurs), un compteur par classe de défaut (`wrong_rule`, `wrong_citation`, `wrong_entry`, `invented_fact`, `missing_element`, `internal_noise`, `digression`), `split` (`dev` ou `holdout`), `major_wrong_rule` (1 si la note porte au moins un défaut majeur de règle erronée, sinon 0).
- `recompute.py` : le script de recalcul.

Les compteurs de défauts sont des occurrences : une note peut en porter plusieurs. Le bruit interne et les digressions sont comptés pour la note et la réponse ensemble, car les fichiers de notation n'enregistrent pas l'endroit où se trouve le défaut.

## Les exécutions

- `baseline_0925` : première mesure de référence (25 septembre 2026), 12 cas, 3 essais chacun.
- `stage3_dev`, `stage3_holdout` : la modification sur la fiche des faits (« Une modification peut atteindre son but et dégrader l'ensemble »), mesurée sur les deux moitiés du jeu de cas, puis annulée.
- `ref9f_run1`, `ref9f_run2`, `ref9f_run3` : les essais 1 à 3 de la version en place, sans aucune modification, sur les 6 cas de travail (`dev`). `ref9f_run1` est le premier essai, réévalué ; `ref9f_run2` et `ref9f_run3` sont deux nouveaux essais.
- `stage17_dev`, `stage18_dev`, `stage18_rerun` : données par essai d'autres modifications que nous avons évaluées, et un nouvel essai d'un seul cas. L'article ne les commente pas.

## Limites

- Petits échantillons : 6 cas par moitié, souvent un seul essai par cas.
- Un seul correcteur (Claude Opus) et un seul jeu de cas.
- Les chiffres de bruit interne et de digression comptent la note et la réponse ensemble.

Les énoncés des cas et les consignes sont disponibles sur demande : hello@lucapaper.com

---

# Data pack: “Close to Claude Sonnet 5 on the same corpus, at a fraction of the cost: what we measured”

This pack contains numbers only. Cases are anonymised: numbered 1 to 12, in an order unrelated to the internal one. It holds no case statements, no prompts, no grader text and no drafted memos. Run `python recompute.py` (Python 3, standard library only) to reproduce the article’s figures from `scores.csv`, read from the script’s own folder whatever the current directory; it prints `id,value` lines. It also prints keys the article does not cite: `a2.stage17.*` and `a2.stage18.*`, for the other changes we evaluated.

The figures in the “Pipeline economics” section (tokens, prices, costs) are not in this pack, nor is the comparison table between our pipeline and Claude: they are recomputed with the pack of the article “Can AI draft a tax memo? What we measured”, `../le-corpus-pas-le-modele/README.md`.

## Files

- `scores.csv`: one row per graded memo. Columns: `arm` (bench run), `cas` (1–12), `run`, `score` (0–10), `verdict`, `conclusion`, `majors` (count of major defects), one count per defect class (`wrong_rule`, `wrong_citation`, `wrong_entry`, `invented_fact`, `missing_element`, `internal_noise`, `digression`), `split` (`dev` or `holdout`), `major_wrong_rule` (1 if the memo carries at least one major wrong-rule defect, else 0).
- `recompute.py`: the recompute script.

Defect counts are occurrences: one memo can carry several. Internal noise and digressions are counted over the memo and the reply together, because the grade files do not record where a defect sits.

## Runs

`baseline_0925` is the first measurement (25 September 2026), 12 cases, 3 runs each; `stage3_dev` and `stage3_holdout` are the fact-sheet change on both halves of the case set, later reverted; `ref9f_run1` to `ref9f_run3` are runs 1 to 3 of the unchanged current version on the 6 working (`dev`) cases (`ref9f_run1` is the first run, regraded; `ref9f_run2` and `ref9f_run3` are two new runs); `stage17_dev`, `stage18_dev` and `stage18_rerun` hold per-run data for other changes we evaluated, plus a new run of a single case. The article does not discuss them.

## Limits

- Small samples: 6 cases per half, often one run per case.
- A single grader (Claude Opus) and a single case set.
- Internal-noise and digression figures count the memo and the reply together.

Case statements and prompts are available on request: hello@lucapaper.com
