4.5 KiB
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 :
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 :
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 :
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 :
Ran 37 tests in 0.492s
OK
Les audits documentaires sont propres :
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 :
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 :
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
-apidoit être un contrat réellement séparé, principalement passif ; elle n'est pas créée si une seule implémentation suffit ; - une crate
-libporte 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 ;
tracingest préféré àlogpour 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 :
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.