v0.2.13-pre.005-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/020-V0_2_13_INTERFACE_PLAN.md -->
|
||||
<!-- version: 5 -->
|
||||
<!-- version: 6 -->
|
||||
|
||||
# Plan `0.2.13` — Interface / wire foundation
|
||||
|
||||
@@ -401,7 +401,7 @@ Ajouter l'instruction `{ program_id, accounts, data }`, constructeur validé, ac
|
||||
|
||||
### pre.005 — adversarial + consumer externe + API/dependency hardening
|
||||
|
||||
**Statut : réalisé ; gate opérateur à confirmer.**
|
||||
**Statut : réalisé ; gate opérateur ciblé PASS, workspace bloqué par faux positif du canari Logging ; `pre.005-fix.001` préparé.**
|
||||
|
||||
Fermer les cas limites, surface crate-root, consumer externe, firewall source/manifest et graphes Cargo. Ne pas ajouter un second domaine wire opportuniste.
|
||||
|
||||
@@ -574,3 +574,32 @@ Il verrouille également l'absence de `pub mod` et l'inventaire exact des quatre
|
||||
Le hardening unitaire vérifie enfin que les allocations des `Vec` admis sont transférées telles quelles dans `ProgramInstruction` et que les erreurs de dépassement n'échoient ni marqueur hostile de payload ni représentation arbitraire d'account meta. Ces tests renforcent le contrat de construction sans changer l'API publique.
|
||||
|
||||
Après validation opérateur de `pre.005`, `pre.006` doit rester un gate technique pur sans nouveau développement fonctionnel.
|
||||
|
||||
## 20. Correctif préparé `pre.005-fix.001`
|
||||
|
||||
Le gate opérateur `pre.005` confirme les preuves suivantes :
|
||||
|
||||
```text
|
||||
fmt / audits Rust / Markdown PASS
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets PASS
|
||||
cargo test -p ksp-interface-lib PASS
|
||||
external consumer PASS
|
||||
release completeness PASS
|
||||
hardening adversarial PASS
|
||||
cargo test --workspace FAIL cross-crate canary Logging
|
||||
cargo tree Interface Core-only confirmé
|
||||
```
|
||||
|
||||
L'échec workspace ne révèle aucun bypass runtime d'Interface. Le scanner `ksp-logging-lib/tests/ownership.rs` recherche littéralement le chemin source `tracing::` dans tous les fichiers Rust des crates KSP, tests compris. Le firewall `ksp-interface-lib/tests/dependency_boundary.rs` contenait cette chaîne comme **valeur de test interdite**, ce qui déclenchait le scanner Logging sur le canari lui-même.
|
||||
|
||||
Le fix conserve exactement la même interdiction mais construit le token de recherche sans faire apparaître le chemin littéral dans le source du test :
|
||||
|
||||
```rust
|
||||
concat!("tracing", "::")
|
||||
```
|
||||
|
||||
Le test Interface continue donc de refuser un chemin direct vers Tracing dans les sources de production, tandis que le scanner Logging ne confond plus la donnée du canari avec un usage runtime réel.
|
||||
|
||||
Aucun fichier `src/` de production, aucune dépendance, aucune API publique, aucune borne et aucune décision de logging ne sont modifiés. La version technique devient `0.2.13-pre.5.fix.1` parce que le fix touche un test Rust. `pre.006` reste bloqué jusqu'au gate workspace vert du fix.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user