v0.2.13-pre.007

This commit is contained in:
2026-08-28 07:05:02 +02:00
parent 8c4e835fdd
commit 5bfe6f0820
10 changed files with 527 additions and 90 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/016-V0_2_13_INTERFACE.md -->
<!-- version: 7 -->
<!-- version: 8 -->
# Validation `0.2.13` — Interface / wire foundation
@@ -89,12 +89,12 @@ aucun comportement Program
| façade | exports explicites crate-root; aucun `pub mod` | PASS pre.002 |
| Pubkey | réexport/usage contrôlé de Core; pas de type parallèle | PASS pre.002 |
| `ProgramAccountMeta` | private fields + writable/readonly + accessors | PASS pre.003 |
| `ProgramInstruction` | private fields + `try_new` + accessors | TODO pre.004 |
| account bound | constante publique `<= 255`; enforcement constructeur | PASS/PENDING |
| data bound | `<= 10_240` | TODO pre.004 |
| `ProgramInstruction` | private fields + `try_new` + accessors | PASS pre.006 |
| account bound | constante publique `<= 255`; enforcement constructeur | PASS pre.006 |
| data bound | `<= 10_240` | PASS pre.006 |
| serde | absent | FIXÉ pre.001 |
| generic codec | absent | FIXÉ pre.001 |
| Debug instruction | résumé borné, pas payload complet | TODO pre.004 |
| Debug instruction | résumé borné, pas payload complet | PASS pre.006 |
| Error/Result | Core commun + code Interface sûr minimal | PASS pre.003 |
## 8. Robustness/adversarial
@@ -142,30 +142,32 @@ Si une nouvelle dépendance externe apparaît après `pre.001`, la présente mat
| Famille | Attendu | Statut |
|--------------------------|-------------------------------------------------|--------------|
| unit tests privés | account meta/borne puis instruction/adversarial | PASS pre.004 |
| `tests/public_api.rs` | consommation crate-root uniquement | PASS pre.004 |
| external consumer canary | surface utilisable hors modules privés | PASS pre.005 |
| dependency boundary | firewall exact | PASS pre.004 |
| release completeness | inventaire exact, aucun domaine supplémentaire | PASS pre.005 |
| unit tests privés | account meta/borne puis instruction/adversarial | PASS pre.006 |
| `tests/public_api.rs` | consommation crate-root uniquement | PASS pre.006 |
| external consumer canary | surface utilisable hors modules privés | PASS pre.006 |
| dependency boundary | firewall exact | PASS pre.006 |
| release completeness | inventaire exact, aucun domaine supplémentaire | PASS pre.006 |
| round-trip codec | aucun tant qu'aucun codec | N/A |
| network smoke | aucun pour crate wire pure | N/A |
## 11. Gate technique final attendu
## 11. Gate technique final validé
Avant réconciliation documentaire :
Le gate opérateur `0.2.13-pre.006` du **28 août 2026** ferme la lane technique :
```text
cargo fmt --all PASS attendu
python3 scripts/audit_rust_workspace_rules.py PASS attendu
python3 scripts/audit_markdown_tables.py ... PASS attendu
cargo check --workspace PASS attendu
cargo clippy --workspace --all-targets PASS attendu
cargo test --workspace PASS attendu
cargo tree -p ksp-interface-lib --edges normal inspecté
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS
python3 scripts/audit_markdown_tables.py ... PASS — 162 tables / 119 fichiers
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test -p ksp-interface-lib PASS
cargo test -p ksp-logging-lib --test ownership PASS
cargo test --workspace PASS
cargo tree -p ksp-interface-lib --edges normal Core-only confirmé
cargo tree --duplicates inspecté
```
Aucun smoke réseau/live n'est exigé par défaut.
Aucun smoke réseau/live n'est exigé : la crate reste une foundation wire pure sans I/O.
## 12. État `pre.001`
@@ -332,24 +334,38 @@ cargo test --workspace PASS
cargo tree Interface Core-only confirmé
```
## 18. Gate technique final préparé `pre.006`
## 18. Gate technique final `pre.006`
Aucun nouveau canari n'est nécessaire : le gate `pre.005-fix.001` a déjà exécuté avec succès tous les tests ciblés et workspace sur la surface complète. `pre.006` change uniquement la version technique et la traçabilité du gate final.
État à confirmer par l'opérateur :
Le gate final a confirmé la surface complète sans nouvelle modification technique :
```text
cargo fmt --all PASS attendu
audits Rust / export completeness / workspace PASS attendus
audit Markdown PASS attendu
cargo check --workspace PASS attendu
cargo clippy --workspace --all-targets PASS attendu
cargo test -p ksp-interface-lib PASS attendu
cargo test -p ksp-logging-lib --test ownership PASS attendu
cargo test --workspace PASS attendu
cargo tree -p ksp-interface-lib --edges normal Core-only attendu
cargo tree --duplicates inspecté attendu
unit Interface 10/10 PASS
dependency boundary 4/4 PASS
external consumer 1/1 PASS
public API 5/5 PASS
release completeness 3/3 PASS
ownership Logging 2/2 PASS
workspace PASS
Cargo graph Interface ksp-core-lib uniquement
```
La validation technique sera considérée fermée uniquement après ce gate. Aucun smoke réseau n'est requis pour cette foundation wire pure.
Les duplicates observés dans le workspace sont extérieurs au graphe normal d'Interface et ne proviennent d'aucune dépendance ajoutée par `0.2.13`.
La validation technique de la release candidate est fermée.
## 19. Réconciliation documentaire `pre.007`
La documentation finale candidate est alignée sur les preuves techniques :
| Référence durable | Statut `pre.007` | Contrat réconcilié |
|-------------------------------------------------|------------------|----------------------------------------------------------------------|
| `crates/ksp-interface-lib/README.md` | PASS structurel | ownership, surface finale, bornes, firewall, frontières |
| `crates/ksp-interface-lib/USAGE.md` | PASS structurel | usage crate-root, construction metas/instruction, erreurs et limites |
| `docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md` | PASS structurel | contenu réel `0.2.13` + reports `0.2.14` / `0.3.2+` |
| `docs/plans/020-V0_2_13_INTERFACE_PLAN.md` | PASS structurel | gate `pre.006` fermé + lane documentaire finale |
| `docs/validation/016-V0_2_13_INTERFACE.md` | PASS structurel | statuts finaux et preuves opérateur |
| index `docs/000`, plans et validation | PASS structurel | candidate réconciliée sans publication stable prématurée |
La tranche n'ajoute aucun code/test/codec/dépendance et ne modifie ni `CHANGELOG.md`, ni `ROADMAP.md`, ni le prompt `0.2.14`. Ces trois surfaces restent réservées à `pre.008`.
Le gate opérateur de `pre.007` doit rester déterministe : audits, check, Clippy et workspace tests suffisent ; aucun smoke live ni nouveau `cargo tree` n'est requis si l'overlay documentaire est appliqué exactement.