0.3.17-pre.002-fix.001

This commit is contained in:
2026-09-24 11:20:46 +02:00
parent c56ae68834
commit f82082a564
4 changed files with 201 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/034-V0_3_17_RAW_OPERATIONAL_RESILIENCE.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Validation `0.3.17` — résilience opérationnelle et cycle de vie des variantes RAW
@@ -628,3 +628,56 @@ cargo fmt/check/clippy/test pre.002 NOT RUN ici
```
Le gate opérateur requis pour fermer `pre.002` est celui de `deltas/0.3.17/pre.002.md`, incluant `cargo test -p ksp-store-api --all-targets --all-features`.
## 25. Gate opérateur `0.3.17-pre.002` et correctif `fix.001`
Le 24 septembre 2026, l'opérateur a exécuté le gate complet demandé pour `pre.002`.
Résultats avant le test ciblé :
```text
cargo fmt --all / --check PASS
General Rust rule audit clean
Rust export completeness audit 0 candidate(s)
KSP workspace Rust rule audit clean
Markdown table audit clean (352 table(s), 966 file(s))
cargo check --workspace PASS, 0.3.17-pre.2, 5.97 s
cargo clippy --workspace --all-targets --all-features -- -D warnings
PASS, 0.3.17-pre.2, 8.83 s
```
`cargo test -p ksp-store-api --all-targets --all-features` a ensuite compilé et exécuté correctement les 35 tests unitaires, mais le gate a échoué dans `tests/dependency_boundary.rs` :
```text
unit tests PASS 35/35
dependency_boundary FAIL 1/2
pre_006_source_boundary_keeps_models_and_capabilities_backend_free
```
La cause est un faux positif du canari historique. Il interdisait la sous-chaîne :
```text
trait Store
```
Le nouveau contrat backend-neutral légitime :
```text
trait StoreErrorClassifier
```
contient cette sous-chaîne sans déclarer un trait générique `Store`. Le correctif `pre.002-fix.001` resserre donc uniquement le canari afin d'interdire un identifiant de trait exactement nommé `Store` (`Store `, `Store:`, `Store<` ou séparation de ligne), tout en conservant l'interdiction de `StoreBackend`, `PostgresStore`, `MySqlStore` et `Arc<dyn`.
Aucun contrat public, modèle, capability, comportement runtime ou dépendance n'est modifié par ce correctif. Le gate `pre.002` reste ouvert jusqu'à revalidation complète de `ksp-store-api` sur `0.3.17-pre.2.fix.1`.
Assemblage local du correctif :
```text
General Rust rule audit clean
Rust export completeness audit 0 candidate(s)
KSP workspace Rust rule audit clean
Markdown table audit clean (352 table(s), 967 file(s))
dependency-boundary lexical simulation PASS
```
La toolchain Rust reste absente de l'environnement d'assemblage ; `cargo fmt/check/clippy/test` doit être rejoué par l'opérateur sur `0.3.17-pre.2.fix.1`.