fix(docs): README states data/pcs/*.json are the canonical PC sheets and foundry.py is a one-shot incomplete migration tool - re-running it and regenerating the JSON would regress the manual/SRD conformance fixes (natural/secondary/firearm flags, Jeanne hooves reach 10, Ierlieth fly 40, Misty bite 1d6, feats beyond its 8-entry map, spell_slots/resources/casting_ability); refresh dev test count 1634 -> 1647

This commit is contained in:
2026-09-19 19:10:38 +02:00
parent 238e5f201e
commit 1b43f4eef1
+15 -2
View File
@@ -315,6 +315,17 @@ Les armes placeholder des fiches sans dégâts encodés sont omises (notées
dans `notes` le cas échéant) ; le champ `source` de chaque fichier pointe
vers la fiche Foundry d'origine.
> **`data/pcs/*.json` est la référence canonique des PJ.** Le chargeur
> `loaders/foundry.py` est un outil de migration **one-shot et incomplet** :
> il ne reproduit pas les corrections manuelles/SRD appliquées aux JSON
> (drapeaux `natural`/`secondary`/`firearm`, allonge des sabots de Jeanne
> (10 ft), vol d'Ierlieth (40 ft), morsure de Misty (1d6), dons au-delà de sa
> table de 8 entrées, `spell_slots`/`resources`/`casting_ability`). Le
> relancer et régénérer les JSON de PJ ferait régresser ces corrections : ne
> pas régénérer depuis `foundry.py` sans réappliquer au préalable les
> corrections de conformance consignées dans
> [`docs/conformance-srd.md`](docs/conformance-srd.md).
## Règles implémentées et limites de la Phase 0
> Le suivi détaillé des écarts avec le SRD — corrigés, hors périmètre et
@@ -1899,14 +1910,16 @@ Limites de sorts (conformance D6-D9, documentées plutôt que bricolées) :
en cas d'erreur.
- `loaders/` — `combatant.py` (chargeur unifié PJ + monstres avec résolution
des dons → `AbilitySpec` et des sorts → `Combatant.spells`) et
`foundry.py` (outil de migration one-shot depuis les fiches Foundry).
`foundry.py` (outil de migration one-shot depuis les fiches Foundry —
incomplet, voir l'encadré « Fiches de personnages (PJ) » : ne pas régénérer
`data/pcs/*.json`, qui est canonique, sans réappliquer les corrections SRD).
## Développement
La gate de validation complète (tests + lint + types) :
```bash
uv run pytest -q # 1634 tests
uv run pytest -q # 1647 tests
uv run ruff check src tests
uv run basedpyright src # mode strict
```