Files
pgr/history/0.0.5/alpha.7.md
2026-09-25 11:45:10 +02:00

109 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: history/0.0.5/alpha.7.md -->
<!-- version: 1 -->
# History 0.0.5-alpha.7 — profil Rust strict et nomenclature initiale
## Statut
FAIL
La gate mécanique de `0.0.5-alpha.7` exécutée le `2026-09-25` est propre : tests, audits Markdown, contrôle structurel ciblé et scope Git passent. La revue fonctionnelle opérateur qui suit révèle toutefois que la nomenclature matérialisée reste incomplète : les suffixes de crates ne portent pas encore explicitement leurs contrats architecturaux, la séparation package bibliothèque / package binaire n'est pas cadrée, et l'ownership du logging/tracing n'est pas généralisé alors que KSP et Games fournissent des preuves suffisamment convergentes.
La tranche est donc enregistrée `FAIL` malgré son gate mécanique vert. La correction appartient à `alpha.7.fix.1` ; aucun REPLAN de release n'est nécessaire.
## Baseline et version
La tranche part du commit opérateur de `0.0.5-alpha.6.fix.3` :
```text
4e1c1cd 0.0.5-alpha.6.fix.3
```
Le push vers `origin/master` a réussi avant l'application de `alpha.7`.
La version contrôlée après application est :
```text
0.0.5-alpha.7
```
`history/0.0.5/alpha.6.fix.3.md` est présent avec statut `PASS`, `deltas/0.0.5/alpha.7.md` est présent et `history/0.0.5/alpha.7.md` était absent pendant la gate.
## Validation opérateur observée
L'opérateur a fourni les sorties du `2026-09-25` depuis `~/Projects/pgr`, à `10:47:34`–`11:15:53`.
Les révisions contrôlées sont :
```text
docs/rules/510-RUST_CARGO.md version 5
docs/skeletons/002-RUST_CARGO_WORKSPACE.md version 3
docs/templates/002-CARGO_MANIFESTS.md version 2
docs/studies/001-KSP_GAMES_RECONCILIATION.md version 8
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md version 9
```
La suite Python globale a exécuté `37` tests, tous réussis :
```text
Ran 37 tests in 0.492s
OK
```
Les audits documentaires sont propres :
```text
Markdown header audit: clean (154 file(s))
Markdown table audit: clean (7 table(s), 154 file(s))
Markdown link audit: clean (150 local link(s), 154 file(s))
```
Le contrôle structurel spécifique affiche :
```text
0.0.5 alpha.7 strict Rust profile audit: clean (explicit paths, crate-root facade, controlled naming, alpha.8 formatting deferred)
```
`git diff --check` et `git diff --cached --check` ne produisent aucun diagnostic.
Le scope Git observé avant ajout du présent history est exactement :
```text
M VERSION
A deltas/0.0.5/alpha.7.md
M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
M docs/rules/510-RUST_CARGO.md
M docs/skeletons/002-RUST_CARGO_WORKSPACE.md
M docs/studies/001-KSP_GAMES_RECONCILIATION.md
M docs/templates/002-CARGO_MANIFESTS.md
```
## Écart fonctionnel découvert après gate
La clarification opérateur impose un sens architectural aux noms de crates :
- une crate `-api` doit être un contrat réellement séparé, principalement passif ; elle n'est pas créée si une seule implémentation suffit ;
- une crate `-lib` porte une implémentation/fonctionnalité réutilisable ;
- les exécutables doivent normalement vivre dans des packages séparés et composer les libs au lieu de mélanger binaire et bibliothèque ;
- Tauri constitue l'exception actuelle et doit alors déclarer des targets lib/bin de noms distincts ;
- `tracing` est préféré à `log` pour les diagnostics structurés et un owner transverse de logging doit éviter la duplication de subscriber/sinks/lifecycle dans les workspaces multi-runtime.
La relecture des corpus confirme ce besoin. KSP encode déjà la séparation `-api` / `-lib`, interdit les APIs créées par symétrie et centralise le tracing dans `ksp-logging-lib`. Games sépare ses launchers de ses libs et centralise également la configuration tracing. Une ancienne préférence KSP pour un package worker mixte lib/bin est explicitement rejetée comme règle PGR générale au profit de la clarification actuelle.
## Résultat
`alpha.7` a correctement rétabli le profil Rust strict sur les chemins, imports, façade et contrôle de flux, mais son contrat de nomenclature/packaging reste incomplet. La correction est bornée et n'affecte pas la trajectoire `alpha.8` formatage puis `alpha.9` skeleton Tauri.
## Transition
Appliquer le présent history puis committer et pousser `0.0.5-alpha.7`.
La tranche suivante est :
```text
0.0.5-alpha.7.fix.1
```
Elle complète uniquement les contrats de suffixes, la séparation lib/bin, l'ownership du tracing et l'exception Tauri. Les règles de blocs/espacement/ordre restent hors scope jusqu'à `alpha.8`.