126 lines
5.0 KiB
Markdown
126 lines
5.0 KiB
Markdown
<!-- file: deltas/0.3.6/pre.001-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.6-pre.001-fix.001` — sizing souple et audit Markdown effectif
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.3.6-pre.001
|
|
workspace.package.version = 0.3.6-pre.1
|
|
```
|
|
|
|
Ce fix corrige la tranche de cadrage `pre.001`. Il modifie un script d'audit consommé par le gate ; conformément à `VER-ID-007` et `VER-ID-010`, la version Cargo devient `0.3.6-pre.1.fix.1`.
|
|
|
|
## Objectif
|
|
|
|
- remplacer le forecast tabulaire par une hiérarchie éditable `### pre.NNN` puis `#### pre.NNN-fix.MMM` ;
|
|
- corriger le faux négatif de `scripts/audit_markdown_tables.py` ;
|
|
- imposer l'alignement source gauche, droit ou centré indiqué par la ligne séparatrice ;
|
|
- réaligner les documents actifs révélés par le validateur corrigé sans réécrire les anciens deltas publiés.
|
|
|
|
## Cause racine
|
|
|
|
`_is_separator_row` appliquait la regex aux cellules brutes. Une ligne telle que `| --- | ---: |` contient des espaces dans chaque cellule et n'était donc pas reconnue comme séparateur. Le tableau entier était ignoré, son compteur n'augmentait pas et aucune largeur n'était contrôlée.
|
|
|
|
Le validateur contrôlait par ailleurs uniquement le padding droit des cellules de contenu. Il n'appliquait pas la sémantique de `---:` pour une colonne alignée à droite ni celle de `:---:` pour une colonne centrée.
|
|
|
|
## Corrections
|
|
|
|
### Détection et validation
|
|
|
|
- détection tolérante par `strip` afin qu'un séparateur plausible mais mal formaté entre dans l'audit ;
|
|
- validation canonique stricte du séparateur brut, qui doit remplir la colonne sans espaces ;
|
|
- `---` et `:---` : un espace gauche puis padding droit ;
|
|
- `---:` : padding gauche puis un espace droit ;
|
|
- `:---:` : paddings équilibrés à un espace près ;
|
|
- largeur minimale compatible avec trois tirets et les marqueurs d'alignement ;
|
|
- erreurs dédiées par orientation.
|
|
|
|
### Régressions automatisées
|
|
|
|
Le nouveau test `scripts/tests/test_audit_markdown_tables.py` couvre cinq cas :
|
|
|
|
- tableau gauche et droit canonique accepté ;
|
|
- tableau gauche explicite et centré accepté ;
|
|
- séparateur espacé auparavant ignoré désormais rejeté ;
|
|
- cellule alignée à gauche sous `---:` rejetée ;
|
|
- cellule alignée à droite sous `:---` rejetée.
|
|
|
|
### Sizing de la v0.3.6
|
|
|
|
Le tableau du découpage prévisionnel est remplacé par des sous-sections. Chaque prerelease porte son statut, son budget, son entrée, son contenu et sa sortie. `pre.001-fix.001` est inséré directement sous `pre.001`, comme dans le sizing durable du plan 025.
|
|
|
|
### Réalignement documentaire
|
|
|
|
Le gate corrigé a révélé 13 documents durables contenant soit un séparateur espacé, soit un padding incompatible avec ses marqueurs. Ils sont réalignés mécaniquement, sans changement sémantique :
|
|
|
|
```text
|
|
docs/formats/KSPWALLET_V1.md
|
|
docs/formats/KSPWALLET_V2.md
|
|
docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md
|
|
docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md
|
|
docs/plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md
|
|
docs/plans/012-V0_2_5_WALLET_FOUNDATION_PLAN.md
|
|
docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md
|
|
docs/plans/026-V0_3_5_INTERFACE_ACQUISITION_EVENTS_PLAN.md
|
|
docs/plans/027-V0_3_6_JOB_API_BACKFILL_PLAN.md
|
|
docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md
|
|
docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md
|
|
docs/validation/022-V0_3_5_INTERFACE_ACQUISITION_EVENTS.md
|
|
docs/validation/023-V0_3_6_JOB_API_BACKFILL.md
|
|
```
|
|
|
|
Les deltas antérieurs restent inchangés conformément à `DOC-TABLE-006`.
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
scripts/tests/test_audit_markdown_tables.py
|
|
deltas/0.3.6/pre.001-fix.001.md
|
|
```
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
scripts/audit_markdown_tables.py
|
|
docs/rules/RULES_DOCUMENTATION.md
|
|
les 13 documents durables listés dans la section de réalignement
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
Aucun.
|
|
|
|
## Décisions prises
|
|
|
|
- le script d'audit est un artefact de code d'outillage et impose donc le suffixe Cargo `.fix.1` ;
|
|
- le séparateur reste détecté de façon tolérante mais validé selon la forme canonique stricte ;
|
|
- l'alignement source suit ses marqueurs Markdown, pas seulement le rendu visuel ;
|
|
- le réalignement historique est limité aux documents durables encore audités, jamais aux deltas publiés ;
|
|
- aucun contenu fonctionnel Job ou Backfill n'est ouvert par ce fix.
|
|
|
|
## Validations exécutées
|
|
|
|
```text
|
|
python3 -m unittest scripts/tests/test_audit_markdown_tables.py
|
|
-> 5 tests PASS
|
|
|
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.6
|
|
-> clean, 264 tables / 141 fichiers
|
|
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
-> General Rust rule audit: clean
|
|
-> Rust export completeness audit: 0 candidate(s)
|
|
-> KSP workspace Rust rule audit: clean
|
|
```
|
|
|
|
## Validations non exécutées
|
|
|
|
`cargo` n'est pas installé dans l'environnement d'assemblage. `cargo fmt`, `cargo check`, `cargo clippy` et `cargo test` ne sont pas annoncés comme réussis. Aucun fichier Rust ou manifeste de crate n'est modifié, mais l'opérateur doit rejouer le gate demandé après application du fix.
|
|
|
|
## Questions ouvertes
|
|
|
|
Aucune question ne bloque `pre.002`.
|