v0.2.9-pre.014
This commit is contained in:
140
deltas/0.2.9/pre.014.md
Normal file
140
deltas/0.2.9/pre.014.md
Normal file
@@ -0,0 +1,140 @@
|
||||
<!-- file: deltas/0.2.9/pre.014.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.9-pre.014` — réconciliation documentaire finale Yellowstone
|
||||
|
||||
## 1. Base
|
||||
|
||||
```text
|
||||
0.2.9-pre.013-fix.004
|
||||
```
|
||||
|
||||
Cette tranche est exclusivement le couloir de réconciliation documentaire défini par `VER-LIFECYCLE-006`. Elle ne modifie aucun code, test, schema, config exécutable, README global de publication, `CHANGELOG.md`, `ROADMAP.md` ou prompt suivant.
|
||||
|
||||
## 2. Version technique
|
||||
|
||||
Comme toute prerelease non-fix, la version Cargo est synchronisée mécaniquement :
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.2.9-pre.14
|
||||
```
|
||||
|
||||
Aucune sémantique runtime ne change.
|
||||
|
||||
## 3. Preuve technique réconciliée
|
||||
|
||||
Le couloir `pre.013` est fermé par `pre.013-fix.004` avec :
|
||||
|
||||
```text
|
||||
cargo fmt --all PASS
|
||||
Rust workspace audit PASS, 0 export candidate
|
||||
Markdown audit PASS, 87 tableaux / 258 fichiers
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets PASS sans warning
|
||||
Transport unit 383/383 PASS
|
||||
Transport public API 49/49 PASS
|
||||
Transport release completeness 43/43 PASS
|
||||
Transport doctests 4/4 PASS
|
||||
cargo test --workspace PASS
|
||||
PublicNode Mainnet Subscribe + Slot PASS
|
||||
PublicNode Testnet Subscribe + Slot PASS
|
||||
live smoke total 2/2 PASS
|
||||
```
|
||||
|
||||
Les graphes Cargo finaux ont été inspectés dans le couloir technique. `fix.004` n'ayant modifié ni dépendance ni feature, leur verdict reste applicable :
|
||||
|
||||
```text
|
||||
yellowstone-grpc-proto 12.6.0
|
||||
tonic / tonic-prost 0.14.6
|
||||
prost / prost-types 0.14.4
|
||||
yellowstone-grpc-client absent du runtime KSP
|
||||
```
|
||||
|
||||
## 4. PublicNode final
|
||||
|
||||
Endpoints validés :
|
||||
|
||||
```text
|
||||
Mainnet https://solana-yellowstone-grpc.publicnode.com:443
|
||||
Testnet https://solana-testnet-yellowstone-grpc.publicnode.com:443
|
||||
```
|
||||
|
||||
Les essais live ont montré qu'une connexion sans credential peut atteindre le service mais recevoir `PERMISSION_DENIED`. Les profils finaux utilisent donc une metadata gRPC secrète `x-token`.
|
||||
|
||||
Config conserve :
|
||||
|
||||
```text
|
||||
KSP_SECRET_PUBLICNODE_MAINNET_GRPC_X_TOKEN
|
||||
KSP_SECRET_PUBLICNODE_TESTNET_GRPC_X_TOKEN
|
||||
```
|
||||
|
||||
L'opérateur a prouvé qu'un même personal token peut être utilisé pour les deux endpoints. Les variables restent distinctes par flexibilité opérationnelle ; KSP ne transforme pas ce choix en affirmation provider de tokens network-scoped.
|
||||
|
||||
Le smoke Transport pur reste indépendant de Config : ses deux tokens sont fournis sur stdin au harness et ne sont jamais versionnés, placés dans l'URL ou journalisés.
|
||||
|
||||
## 5. Smoke final documenté
|
||||
|
||||
Le smoke PublicNode ne teste plus `GetVersion/GetSlot` comme preuve provider, car ces unary peuvent être restreintes indépendamment du service de streaming. La preuve représentative de `0.2.9` est :
|
||||
|
||||
```text
|
||||
TLS
|
||||
-> metadata secret x-token
|
||||
-> Subscribe
|
||||
-> filtre slots
|
||||
-> YellowstoneSubscribeUpdate::Slot
|
||||
-> slot > 0
|
||||
-> fermeture bornée
|
||||
```
|
||||
|
||||
Mainnet et Testnet sont tous deux passés en live. Un timeout KSP de half-close n'est accepté par le harness qu'après réception prouvée du slot ; le runtime conserve son erreur explicite de timeout.
|
||||
|
||||
## 6. Documents réconciliés
|
||||
|
||||
```text
|
||||
docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md
|
||||
docs/validation/012-V0_2_9_YELLOWSTONE_GRPC.md
|
||||
crates/ksp-onchain-transport-lib/README.md
|
||||
crates/ksp-onchain-transport-lib/USAGE.md
|
||||
docs/000-README.md
|
||||
```
|
||||
|
||||
Les anciennes affirmations devenues fausses sont supprimées : PublicNode sans credential, smoke unary Mainnet, Testnet non confirmé/non versionné et gate `pre.013` encore pending.
|
||||
|
||||
## 7. Frontière avec `pre.015`
|
||||
|
||||
Cette tranche ne touche pas :
|
||||
|
||||
```text
|
||||
prompts/015-V0_2_10_START_PROMPT.md
|
||||
CHANGELOG.md
|
||||
ROADMAP.md
|
||||
```
|
||||
|
||||
Ces trois surfaces appartiennent exclusivement à `pre.015`, hors `Cargo.toml` et son delta mécanique.
|
||||
|
||||
Si un défaut de code, smoke, Config ou autre document durable est découvert après le gate de `pre.014`, il ne doit pas être glissé dans `pre.015` : une nouvelle prerelease du couloir approprié doit être ouverte conformément aux règles de fermeture.
|
||||
|
||||
## 8. Fichiers modifiés/ajoutés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
docs/000-README.md
|
||||
docs/plans/016-V0_2_9_YELLOWSTONE_GRPC_PLAN.md
|
||||
docs/validation/012-V0_2_9_YELLOWSTONE_GRPC.md
|
||||
crates/ksp-onchain-transport-lib/README.md
|
||||
crates/ksp-onchain-transport-lib/USAGE.md
|
||||
deltas/0.2.9/pre.014.md
|
||||
```
|
||||
|
||||
## 9. 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.9
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Aucun smoke live ni `cargo tree` n'est à rejouer dans `pre.014` si le delta est appliqué exactement : aucune surface technique ou dépendance n'est modifiée.
|
||||
Reference in New Issue
Block a user