v0.2.13-pre.006

This commit is contained in:
2026-08-28 06:36:52 +02:00
parent e774a065b4
commit 695d1080bd
3 changed files with 184 additions and 6 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml
# version: 308
# version: 309
[workspace]
resolver = "3"
members = ["crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-wallet-lib"]
[workspace.package]
version = "0.2.13-pre.5.fix.1"
version = "0.2.13-pre.6"
edition = "2024"
license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

141
deltas/0.2.13/pre.006.md Normal file
View File

@@ -0,0 +1,141 @@
<!-- file: deltas/0.2.13/pre.006.md -->
<!-- version: 1 -->
# Delta `0.2.13-pre.006` — gate technique final Interface
## 1. Base requise
Cette tranche s'applique exclusivement après `0.2.13-pre.005-fix.001`.
Le gate opérateur du fix est intégralement vert :
```text
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS / clean
python3 scripts/audit_markdown_tables.py ... PASS / clean
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é
```
Le faux positif `tracing::` de `pre.005` est donc fermé sans changement de production ni de dépendances.
## 2. Objectif
Préparer le gate technique final de `0.2.13` sans rouvrir la surface fonctionnelle.
Aucun nouveau type wire, aucun codec, aucun test métier, aucune dépendance et aucun comportement runtime ne sont ajoutés. Les canaris existants suffisent déjà à vérifier :
```text
ProgramAccountMeta
ProgramInstruction
bornes 255 / 10_240
ordre et doublons
Pubkey opaque
Debug borné
erreurs sans payload hostile
consumer externe
façade crate-root
inventaire exact de production
firewall source / manifest
Core-only dependency graph
```
## 3. Décision de tranche
`pre.006` reste un gate pur. Ajouter un nouveau test uniquement pour matérialiser le numéro de prerelease augmenterait la surface de changement sans renforcer une propriété non couverte. La tranche modifie donc seulement la version workspace, le plan, la validation et le présent delta.
## 4. Version
La prerelease non-fix synchronise la version Cargo conformément à `VER-ID-009` :
```text
0.2.13-pre.5.fix.1
0.2.13-pre.6
```
Commit attendu après validation :
```text
v0.2.13-pre.006
```
Aucun tag prerelease.
## 5. Fichiers ajoutés
```text
deltas/0.2.13/pre.006.md
```
## 6. Fichiers modifiés
```text
Cargo.toml
docs/plans/020-V0_2_13_INTERFACE_PLAN.md
docs/validation/016-V0_2_13_INTERFACE.md
```
## 7. Fichiers supprimés
Aucun.
## 8. Surface explicitement inchangée
```text
crates/ksp-interface-lib/src/**
crates/ksp-interface-lib/tests/**
crates/ksp-interface-lib/unit_tests/**
crates/ksp-interface-lib/Cargo.toml
crates/ksp-interface-lib/README.md
crates/ksp-interface-lib/USAGE.md
CHANGELOG.md
ROADMAP.md
prompts/**
architectures / règles
```
La réconciliation README/USAGE et des documents durables reste réservée à `pre.007`. La préparation du prompt suivant, du CHANGELOG et du ROADMAP reste réservée à `pre.008`.
## 9. Validations exécutées à la génération
```text
python3 scripts/audit_rust_workspace_rules.py PASS / clean
python3 scripts/audit_markdown_tables.py ... PASS / clean (162 tables, 119 files)
contrôle du diff PASS / 3 modifiés + 1 ajouté
```
Aucun `cargo` n'est disponible dans l'environnement de génération ; aucun PASS Cargo local n'est revendiqué.
## 10. Gate opérateur
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.2.13
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-interface-lib
cargo test -p ksp-logging-lib --test ownership
cargo test --workspace
cargo tree -p ksp-interface-lib --edges normal
cargo tree --duplicates
```
## 11. Décisions prises
- le scope fonctionnel `0.2.13` est figé ;
- aucun codec générique n'est introduit ;
- Interface reste passive et sans logging runtime ;
- `ksp-core-lib` reste l'unique dépendance normale directe ;
- aucun smoke réseau n'est pertinent pour cette crate wire pure ;
- `pre.007` ne commence qu'après gate `pre.006` intégralement vert.
## 12. Questions ouvertes
Aucune question technique bloquante pour `0.2.13`. La seule étape suivante après gate vert est la réconciliation documentaire finale.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/020-V0_2_13_INTERFACE_PLAN.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# Plan `0.2.13` — Interface / wire foundation
@@ -401,13 +401,13 @@ Ajouter l'instruction `{ program_id, accounts, data }`, constructeur validé, ac
### pre.005 — adversarial + consumer externe + API/dependency hardening
**Statut : réalisé ; gate opérateur ciblé PASS, workspace bloqué par faux positif du canari Logging ; `pre.005-fix.001` préparé.**
**Statut : réalisé ; `pre.005-fix.001` validé, gate opérateur intégralement PASS.**
Fermer les cas limites, surface crate-root, consumer externe, firewall source/manifest et graphes Cargo. Ne pas ajouter un second domaine wire opportuniste.
### pre.006 — gate technique final
**Statut : prévu**
**Statut : préparé ; gate opérateur à confirmer.**
Exécuter workspace complet, canaris de complétude/public API/dependencies, `cargo tree` et audit final du scope exact. Aucun README/USAGE final ni préparation de publication.
@@ -601,5 +601,42 @@ 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.
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.
Le gate opérateur du fix est désormais intégralement vert : fmt, audits Rust/Markdown, `cargo check --workspace`, Clippy, tests Interface, canari Logging ciblé, `cargo test --workspace` et graphes Cargo sont tous validés/inspectés. Le faux positif est donc fermé sans élargissement du scope.
## 21. Gate technique final préparé `pre.006`
`pre.006` n'ajoute aucun code, aucun test et aucune dépendance. Les canaris existants couvrent déjà la surface publique, le consumer externe, les bornes, le Debug borné, les erreurs sûres, l'inventaire exact et le firewall de dépendances.
La tranche se limite à figer l'état technique suivant avant réconciliation documentaire :
```text
workspace.package.version 0.2.13-pre.6
production Interface inchangée
tests Interface inchangés
surface crate-root 6 exports exacts
modules production 4 fichiers exacts
dépendance normale Interface ksp-core-lib uniquement
codec / serde / solana-instruction absents
ksp-logging-lib / tracing runtime Interface absents
network/live smoke N/A pour foundation wire pure
```
Le gate opérateur final à rejouer est :
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.2.13
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-interface-lib
cargo test -p ksp-logging-lib --test ownership
cargo test --workspace
cargo tree -p ksp-interface-lib --edges normal
cargo tree --duplicates
```
Après gate vert, `pre.007` est autorisé et devient exclusivement la réconciliation documentaire finale.