diff --git a/README.md b/README.md index 8c8e1b6..caad788 100644 --- a/README.md +++ b/README.md @@ -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 ```