docs(rules): conformance journal rounds 3-4 (22 fix commits) and residual inventory

Round 3 (attack resolution, bestiary/PC stat blocks, action economy) and
round 4 (remaining spells, PC feats) found 2 High, ~11 Med and ~70 Low
findings. Records the 22 fix commits (e0bf484..0c3f5fd), both justified
golden updates (Weapon Focus, Divine Favor), and the residual inventory:
~13 deferred spell effects, 20 feat/racial mismatches, and the missing
subsystems (alignment, items, skills). Journal marked paused at round 4.
This commit is contained in:
2026-09-17 23:28:32 +02:00
parent 0c3f5fd907
commit 1a68dfa6db
2 changed files with 42 additions and 4 deletions
+41 -3
View File
@@ -26,7 +26,7 @@ résiduel**.
| Contrôle | Résultat |
|---|---|
| `uv run pytest -q` | 1521 tests verts |
| `uv run pytest -q` | 1543 tests verts |
| `uv run ruff check src tests` (`select=ALL`) | conforme |
| `uv run basedpyright src` (strict) | 0 erreur |
| Transcript doré depuis la passe 1 | inchangé |
@@ -57,7 +57,40 @@ résiduel**.
| `3a5948c` | CMD : plus de double comptage de Dextérité (Tiny, CMB pré-calculé) |
| `e89ea42` | README/capacités : grapple (pin hors périmètre), `pinned`/`nauseated` sans attaque, Weapon Focus par groupe |
> Transcript doré : mis à jour une seule fois, par le correctif Weapon Focus (`4d45409`) — le +1 du don transforme le jet 15 en 16 contre CA 16, le gobelin meurt au round 4 (justification ligne à ligne dans le docstring du test).
> Transcript doré : mis à jour **deux fois**, chaque fois par un correctif SRD
> justifié ligne à ligne dans le docstring du test — `4d45409` (Weapon Focus :
> le +1 transforme le jet 15 en 16 contre CA 16, le gobelin meurt au round 4)
> puis `bee224a` (Shield of Faith et Divine Favor portent enfin leurs vrais
> buffs : `_find_buff_spell` retient désormais Divine Favor, index 20, ce qui
> remonte la CA de tammara et réécrit son transcript).
### Correctifs des passes 3 et 4 (commits)
| Commit | Objet |
|---|---|
| `e0bf484` | Tir dans une mêlée : exemption mesurée **cible → allié le plus proche** (High) |
| `cc9fba3` | CA d'une cible inerte : −5 exact, plus de double comptage d'une Dextérité négative |
| `fa63829` | `trait` et `racial` non cumulables (APG « Traits », CRB) |
| `1c2663d` | Type non cumulable : meilleur bonus **et** pire pénalité conservés séparément |
| `ae037c9` | Dégâts minimum : 1 point sur une touche réduite sous 1 par la RD |
| `b3a7c37` | Types de bonus `alchemical`/`inherent`/`resistance`/`size` (UM Table 2-7) |
| `feaab5e` | `celestial_wolf` aligné sur le loup du SRD + template céleste (DR/RM) |
| `1c94d48` | `harvie` : Sagesse 14, Talons primaires +2 (1d4 ×2), Morsure secondaire |
| `b9477a2` | `ierlieth` : bonus de dégâts −1, Queue secondaire ajoutée |
| `2b5b39a` | Chevaux : sabots 1d4 marqués naturels, Morsure secondaire de Jeanne |
| `611952c` | `misty` : don « Plot Armor » ajouté en no-op tracé |
| `83bbcae` | Ray of Enfeeblement : type `PenaltyEffect` (pénalité de Force lancée, Fort moitié) au lieu de *fatigued* |
| `79d9ff0` | `drunkards_breath` : cône de 30 ft qui rend *nauseated* (niveau 2, conjuration, Fort annule) — l'ancien contenu était **inventé** (High) |
| `48c816b` | `delay_disease` : niveau 2 conjuration (soins) |
| `27f9629` | Données : `alarm` close, `air_bubble`/`endure_elements` touch, `delay_poison` conjuration, conventions 10 ft/0 ft documentées, `daze` 4 DV |
| `47f563e` | Shield of Faith : +2 CA déflexion (+1 / 6 niveaux, max +5) |
| `bee224a` | Divine Favor : +1 chance attaque/dégâts par 3 niveaux (max +3) — doré mis à jour |
| `6d96779` | Spear of Purity / Shard of Chaos : 1d8 / 2 niveaux (max 5d8), Volonté moitié |
| `a5bd3c5` | Défense totale : plus d'attaques d'opportunité |
| `e253b03` | Charge restreinte à 1× pour un accablé/invalide (et au round de surprise) |
| `980d53d` | Aide : expiration au début du tour de **l'aidant** |
| `a144423` | Défense totale et combat défensif non cumulables |
| `0c3f5fd` | Durées de condition scalées au niveau (hold person, doom, touch of fatigue, vanish) |
### Passe 1 — sorts de buff, mouvement/grille, morts-vivants, armes naturelles
@@ -205,6 +238,9 @@ ne pas être confondues avec des bogues.
| **Réglages du liche non SRD** (pv 100 vs 111, Force, Intelligence, initiative, aura de terreur 30 ft/DD 22 vs 60 ft/DD 18) | Réglages d'équilibrage du scénario doré | Assumé : conservés pour ne pas casser la fiche dorée |
| **Dés énergétiques non multipliés par un critique** (contact du liche) | Règle moteur globale (exceptions CRB « Critical Hits ») | Assumé : cohérent avec les autres attaques |
| **`selective_channeling` non modélisé** | Le canal d'énergie affecte toutes les créatures du type visé dans la zone | Assumé (documenté au README) |
| **Effets de sorts différés (passe 4)** | `mirror_image` (1d4+1 images, ~67-78 % d'échec au lieu du flou 20 %), `spiritual_weapon` (attaque flottante persistante), buffs utilitaires sans mécanique cible (`guidance`, `resistance`, `virtue`, `stabilize`, `owls_wisdom`, `saving_finale`), `acid_arrow` (cap 7 rounds), `ice_slick` (+1/niveau), `charm_person` (condition *charmed*), `bleed` (seuil ≤ −1 pv), `bane` (pénalité −1), `bears_endurance` (+2 pv/DV), `aid` (pv temporaires), `tears_to_wine` (portée 10 ft) | Écart connu, non corrigé dans cette passe (correctifs à effet de bord potentiel sur le choix de sort de `default_policy`) |
| **20 écarts de dons/raciales (passe 4)** | Effets faux : *Exalted of the Society*, *Fortified Drinker* (Med, ce dernier ne s'applique **jamais** — condition « alcohol » non supportée) ; *Born Damned*, *Half-Forgotten Secrets*, *Axe to Grind*, *Thoroughbred*, *Extremely Fashionable*, *Lonely*/*Bitter* (drawbacks inversés en bonus), *Larger Than Life*, *Friendly Face*, *Breeze-Kissed* ; effets manquants : *Ambitious*, *Focused Study*, *Scaled Skin* ; valeur fausse : *Maw or Claw* (1d4 vs 1d6) ; noms inventés : *Whispering Wind*, *Like the Wind*, *Fey-touched*, *Pingre* | La parité feuille ↔ JSON est parfaite dans les deux sens (aucun don manquant ou en trop, aucun no-op silencieux), mais le résolveur mappe mal ces noms ou accepte des noms non-SRD — non corrigé |
| **Morts-vivants / objets / alignement** | Le moteur n'a ni alignement (Shard of Chaos, Spear of Purity, Protection from Evil), ni piste d'objets (Steal, Sunder), ni sous-système de compétences (Perception opposée, Acrobaties) | Hors périmètre : mécaniques absentes du modèle |
---
@@ -233,7 +269,9 @@ Constats explicitement contrôlés et **confirmés conformes** :
|---|---|---|---|---|
| 1 | Sorts (B), Mouvement/grille (C), Morts-vivants (D), Armes naturelles (A) | `bg_9e9e22e6`, `bg_cda707bf`, `bg_ba80396a`, `bg_6a621d4c` | 1 High, 12 Med, ~20 Low | Corrigés + documentés (ci-dessus) |
| 2 | Dons/capacités (E), Manœuvres (F), Conditions (G), Données de sorts (H) | `bg_5314f54c` (re-run), `bg_9fdc610e`, `bg_f5829c68`, `bg_b289533d` + extraction/vérification `bg_e1ccd2da`, `bg_4292da47`, `bg_14d5344a` | 4 High, ~18 Med, ~45 Low | Constats consignés (§ 1 passe 2) ; correctifs data/conditions/dons en cours |
| 3+ | Bestiaire/PJ (stat blocks), résolution d'attaque/défense, économie d'action, sorts restants (68/108 non vérifiés champ par champ) | — | à lancer | À faire |
| 3 | Résolution d'attaque & défense, bestiaire/PJ (blocs de stats), économie d'action & tour, sorts restants | `bg_38d99eac`, `bg_8cdcb3e2`, `bg_73e3f878` | 1 High, ~10 Med, ~40 Low | 11 correctifs (`e0bf484`..`611952c`) + Ray of Enfeeblement (`83bbcae`) ; le reste documenté |
| 4 | Sorts restants (champ par champ), dons des 8 PJ vs feuilles Foundry | `bg_29c36b1a` | 1 High, 1 Med, ~30 Low (dont 20 dons) | 11 correctifs (`79d9ff0`..`0c3f5fd`) ; 20 écarts de dons + effets de sorts différés documentés |
| 5+ | ~60 sorts non encore vérifiés, sous-systèmes non couverts (invocation, métamagie/slots, concentration, observation, runner/métriques) | — | — | **En pause** (demande utilisateur) |
---