184 lines
4.7 KiB
Markdown
184 lines
4.7 KiB
Markdown
# Delta `0.2.9-pre.013` — gate technique/live final
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
livraison : 0.2.9-pre.012-fix.001
|
|
Cargo : 0.2.9-pre.12
|
|
```
|
|
|
|
## Identité de la tranche
|
|
|
|
```text
|
|
livraison : 0.2.9-pre.013
|
|
Cargo : 0.2.9-pre.13
|
|
```
|
|
|
|
Cette prerelease applique le couloir technique/live introduit par `pre.012-fix.001`. Elle ne porte aucune réconciliation README/USAGE/plan/validation et aucune finalisation CHANGELOG/ROADMAP/prompt.
|
|
|
|
## Objectif
|
|
|
|
Fermer les dernières preuves techniques externes de `0.2.9` avant la réconciliation documentaire :
|
|
|
|
```text
|
|
smoke PublicNode Mainnet Yellowstone gRPC live
|
|
inspection du graphe Transport direct
|
|
inspection des dépendances dupliquées Transport
|
|
inspection des dépendances dupliquées workspace
|
|
```
|
|
|
|
Le smoke existe déjà dans la base sous :
|
|
|
|
```text
|
|
crates/ksp-onchain-transport-lib/tests/yellowstone_publicnode_smoke.rs
|
|
```
|
|
|
|
Il reste opt-in et ne contient aucun secret. `pre.013` ne crée pas un second smoke et ne déplace pas ce test vers Config.
|
|
|
|
## Vérification externe de l'endpoint
|
|
|
|
Le 2026-08-24, la surface officielle PublicNode expose toujours Solana Mainnet Yellowstone GRPC avec le host/port :
|
|
|
|
```text
|
|
solana-yellowstone-grpc.publicnode.com:443
|
|
```
|
|
|
|
KSP conserve l'URI TLS :
|
|
|
|
```text
|
|
https://solana-yellowstone-grpc.publicnode.com:443
|
|
```
|
|
|
|
Aucun endpoint Testnet n'est ajouté ou déduit dans cette tranche.
|
|
|
|
## Modifications
|
|
|
|
```text
|
|
Cargo.toml
|
|
workspace.package.version : 0.2.9-pre.12 -> 0.2.9-pre.13
|
|
|
|
deltas/0.2.9/pre.013.md
|
|
ajout du gate technique/live et des commandes opérateur
|
|
```
|
|
|
|
Aucun code runtime, test, schema, config, README, USAGE, plan, validation, CHANGELOG, ROADMAP ou prompt n'est modifié.
|
|
|
|
## Baseline déterministe héritée de `pre.012`
|
|
|
|
Le log opérateur reçu avant l'ouverture de cette tranche confirme :
|
|
|
|
```text
|
|
cargo fmt --all PASS
|
|
Rust workspace audit clean / 0 export candidate
|
|
Markdown table audit clean
|
|
cargo check --workspace PASS
|
|
cargo clippy --workspace --all-targets PASS sans warning
|
|
Config unit 113/113
|
|
Config public API 15/15
|
|
Config ownership 5/5
|
|
Transport unit 383/383
|
|
Transport public API 49/49
|
|
Transport release completeness 43/43
|
|
Transport doctests 4/4
|
|
workspace dependency canary 3/3
|
|
cargo test --workspace PASS
|
|
```
|
|
|
|
Le test PublicNode était alors uniquement compilé et listé comme `ignored`; cela ne vaut pas exécution live.
|
|
|
|
## Gate opérateur `pre.013`
|
|
|
|
### 1. Gate déterministe après changement de version
|
|
|
|
```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.9
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-onchain-transport-lib
|
|
cargo test -p ksp-core-lib --test workspace_dependencies
|
|
```
|
|
|
|
Seuils de non-régression :
|
|
|
|
```text
|
|
Transport unit 383 minimum
|
|
Transport public API 49 minimum
|
|
Transport release completeness 43 minimum
|
|
Transport doctests 4 minimum
|
|
workspace dependencies 3 minimum
|
|
```
|
|
|
|
### 2. Smoke PublicNode Mainnet live
|
|
|
|
```bash
|
|
cargo test -p ksp-onchain-transport-lib --test yellowstone_publicnode_smoke -- --ignored --nocapture
|
|
```
|
|
|
|
Le verdict attendu est :
|
|
|
|
```text
|
|
1 passed
|
|
0 failed
|
|
0 ignored
|
|
```
|
|
|
|
Le test doit démontrer sans credentials :
|
|
|
|
```text
|
|
TLS vers PublicNode Mainnet
|
|
GetVersion réussi
|
|
GetSlot Confirmed réussi
|
|
slot > 0
|
|
```
|
|
|
|
Un échec de compilation, mapping, TLS, protocole ou appel unary imputable à KSP ouvre `pre.013-fix.NNN`.
|
|
|
|
Un échec démontré comme incident externe PublicNode/réseau est documenté comme `EXTERNAL BLOCK` et n'est jamais maquillé en PASS.
|
|
|
|
### 3. Graphes Cargo finaux
|
|
|
|
```bash
|
|
cargo tree -p ksp-onchain-transport-lib
|
|
cargo tree -p ksp-onchain-transport-lib --duplicates
|
|
cargo tree --duplicates
|
|
```
|
|
|
|
Points à vérifier :
|
|
|
|
```text
|
|
pas de yellowstone-grpc-client runtime
|
|
pas de dépendance Transport -> Config
|
|
pas de tracing direct Transport
|
|
Tonic KSP-owned conservé
|
|
yellowstone-grpc-proto présent comme proto officiel
|
|
aucune nouvelle duplication introduite par pre.013
|
|
```
|
|
|
|
### 4. Workspace complet
|
|
|
|
Après le smoke et l'inspection des graphes :
|
|
|
|
```bash
|
|
cargo test --workspace
|
|
```
|
|
|
|
## Critère de fermeture
|
|
|
|
`pre.013` est fermée seulement lorsque :
|
|
|
|
```text
|
|
gate déterministe vert sans warning
|
|
smoke PublicNode Mainnet réellement exécuté et vert, ou incident externe précisément établi
|
|
graphes Cargo inspectés
|
|
workspace complet vert
|
|
aucun correctif documentaire de clôture mélangé dans cette tranche
|
|
```
|
|
|
|
La tranche suivante reste :
|
|
|
|
```text
|
|
0.2.9-pre.014 — réconciliation documentaire finale
|
|
```
|