Files
pgr/history/0.0.5/alpha.3.md
2026-09-24 22:23:59 +02:00

115 lines
3.7 KiB
Markdown

<!-- file: history/0.0.5/alpha.3.md -->
<!-- version: 1 -->
# History 0.0.5-alpha.3 — pattern facultatif de contrats de fichiers ou familles
## Statut
FAIL
La tranche `0.0.5-alpha.3` n'est pas enregistrée `PASS` telle quelle.
Le contenu documentaire prévu est présent et les commandes automatisées de la gate ont toutes retourné un succès, mais la revue opérateur a identifié un défaut objectif dans `docs/templates/004-FILE_FAMILY_CONTRACTS.md` : la table d'exemple commençant à la ligne 46 n'était pas alignée alors que `scripts/audit_markdown_tables.py` annonçait un état `clean`.
Le diagnostic montre que l'audit ignorait tous les blocs fenced. Les tables placées dans des fences explicitement `markdown` n'étaient donc ni comptées ni validées. La preuve `PGR-MD-TABLE-001` était incomplète pour cette tranche.
## Baseline
La tranche précédente `0.0.5-alpha.2` a été committée et poussée sous le commit observé :
```text
d7282dc
```
Version contrôlée après application de `alpha.3` :
```text
0.0.5-alpha.3
```
Le scope Git observé avant le présent history est exactement :
```text
M VERSION
A deltas/0.0.5/alpha.3.md
M docs/000-README.md
M docs/rules/300-DOCUMENTATION.md
M docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
A docs/templates/004-FILE_FAMILY_CONTRACTS.md
```
## Contrôles automatisés observés
Les `15` tests Python ont tous réussi :
```text
Ran 15 tests in 0.219s
OK
```
Les audits Markdown ont annoncé :
```text
Markdown header audit: clean (132 file(s))
Markdown table audit: clean (4 table(s), 132 file(s))
Markdown link audit: clean (127 local link(s), 132 file(s))
```
L'audit structurel spécifique a également réussi :
```text
0.0.5 alpha.3 file-family contract audit: clean (optional registry, short reusable pattern, no project-specific contract imported)
```
`git diff --check` et `git diff --cached --check` n'ont produit aucun diagnostic.
## Défaut exact
`docs/templates/004-FILE_FAMILY_CONTRACTS.md` contient des exemples de tables sous la forme :
````text
```markdown
| ... |
| ... |
```
````
La fonction `_audit_file` de `scripts/audit_markdown_tables.py` entrait dans un état `fence` dès l'ouverture du bloc puis ignorait toutes les lignes jusqu'à sa fermeture. Une table Markdown d'exemple pouvait donc être mal alignée sans être vue par l'audit.
La table signalée par l'opérateur à partir de la ligne 46 présente effectivement des largeurs brutes différentes entre header, séparateur et ligne de données. Le diagnostic du fix révèle en outre qu'une seconde table fenced du même template, dans la section `Exemple abstrait`, était masquée par le même défaut.
Ce comportement est hérité des audits observés dans les corpus KSP/Games, mais PGR doit corriger son propre contrat au lieu de conserver ce faux négatif.
## Décision
Aucun REPLAN n'est requis.
Le pattern documentaire de `alpha.3` reste pertinent. Le défaut est local à la qualité de son exemple et à la couverture de `PGR-MD-TABLE-001`.
La correction reste dans :
```text
0.0.5-alpha.3.fix.1
```
Le fix doit :
- auditer les tables Markdown ordinaires ;
- auditer aussi les tables présentes dans des fences explicitement `markdown` ou `md` ;
- continuer d'ignorer les autres fences afin d'éviter de traiter comme Markdown des sorties terminal ou tableaux ASCII d'un autre langage ;
- ajouter des tests de régression positifs et négatifs ;
- réaligner toutes les tables fenced du template `004` révélées par ce contrôle ;
- préciser ce contrat dans la matrice de validation.
Le delta `alpha.3` reste un snapshot historique et n'est pas réécrit.
## Résultat
`0.0.5-alpha.3` est enregistré `FAIL`.
La transition autorisée est :
```text
0.0.5-alpha.3.fix.1
```