v0.3.5-pre.005-fix.001

This commit is contained in:
2026-08-31 11:23:40 +02:00
parent 7377a6f6cd
commit 749e53edc2
4 changed files with 120 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/022-V0_3_5_INTERFACE_ACQUISITION_EVENTS.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# Validation `0.3.5` — Interface passive acquisition events
@@ -17,7 +17,7 @@ workspace.package.version = 0.3.4
Version de travail :
```text
0.3.5-pre.3
0.3.5-pre.5.fix.1
```
## 2. Gate d'entrée `v0.3.4`
@@ -750,3 +750,29 @@ cargo test -p ksp-program-api
```
Les gates Cargo de `pre.005` restent à exécuter par l'opérateur dans le repository réel.
## 33. Gate opérateur `pre.005` et correction `pre.005-fix.001`
Le gate opérateur du `2026-08-31` confirme que les audits Rust/Markdown et `cargo check --workspace` sont propres, mais révèle un défaut dans le nouveau canari de manifeste :
```text
v0_3_5_pre_005_manifest_keeps_exact_core_only_graph_without_features_or_hidden_dependency_sections: FAILED
left: 2
right: 1
```
Le manifeste Interface reste pourtant strictement Core-only. Le canari comptait naïvement les occurrences textuelles de `ksp-core-lib` dans :
```text
ksp-core-lib = { path = "../ksp-core-lib" }
```
Le nom apparaît donc deux fois sur une seule déclaration de dépendance : une fois comme clé et une fois dans le chemin. `pre.005-fix.001` corrige uniquement ce faux négatif en réutilisant le parseur de clés de dépendances déjà présent dans `dependency_boundary.rs`. Le canari vérifie désormais que la section `[dependencies]` existe exactement une fois et que son inventaire de clés vaut exactement `ksp-core-lib`, tout en conservant les interdictions `[features]`, `[dev-dependencies]` et `[build-dependencies]`.
Le fix modifie une source Rust de test ; la version workspace évolue donc vers :
```text
0.3.5-pre.5.fix.1
```
Aucun manifeste de crate, source de production, contrat public ou dependency graph n'est modifié.