v0.2.8-pre.011
This commit is contained in:
207
deltas/0.2.8/pre.011.md
Normal file
207
deltas/0.2.8/pre.011.md
Normal file
@@ -0,0 +1,207 @@
|
||||
<!-- file: deltas/0.2.8/pre.011.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.8-pre.011` — candidate finale + indexes + prompt `0.2.9`
|
||||
|
||||
## Objet
|
||||
|
||||
Fermer la candidate documentaire de `0.2.8` après le gate opérateur complet de `pre.010`, synchroniser les index qui décrivaient encore des états intermédiaires de la release et préparer un prompt de démarrage `0.2.9` autonome, conforme à `docs/rules/PROMPT_STRUCTURE.md`, avant la publication stable `rel.001`.
|
||||
|
||||
Cette tranche ne modifie aucune capacité runtime HTTP/WebSocket, aucun contrat Config et aucune dépendance Rust.
|
||||
|
||||
## Base et preuve opérateur héritée
|
||||
|
||||
Le gate `0.2.8-pre.10` fourni le 2026-08-23 est entièrement vert :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
python3 scripts/audit_rust_workspace_rules.py clean
|
||||
General Rust rule audit clean
|
||||
Rust export completeness audit 0 candidate(s)
|
||||
KSP workspace Rust rule audit clean
|
||||
cargo check --workspace OK / sans warning
|
||||
cargo clippy --workspace --all-targets OK / sans warning
|
||||
Transport unit 335/335
|
||||
Transport public API 41/41
|
||||
release completeness 34/34
|
||||
Transport doctests 4/4
|
||||
cargo test --workspace OK
|
||||
cargo tree -p ksp-onchain-transport-lib exécuté
|
||||
cargo tree -p ksp-onchain-transport-lib --duplicates exécuté
|
||||
cargo tree --duplicates exécuté
|
||||
```
|
||||
|
||||
Le graphe Transport conserve uniquement ses dépendances acquises. Les doublons ciblés visibles dans ce sous-graphe (`syn` 2/3 et `webpki-roots` 0.26/1.0) sont transitifs. Les autres duplications du workspace proviennent principalement des stacks Tauri/GTK, JSON Schema et Wallet/Solana crypto ; aucune dérive nouvelle propre à `0.2.8` n'est identifiée.
|
||||
|
||||
Verdict hérité : **`pre.010` DONE.**
|
||||
|
||||
## Candidate fonctionnelle `0.2.8`
|
||||
|
||||
L'état que `pre.011` fige au niveau candidate reste :
|
||||
|
||||
```text
|
||||
HTTP 52 méthodes current + 14 historical
|
||||
Solana Standard WebSocket 9 familles / 18 subscribe-unsubscribe
|
||||
Helius standard réutilisé account/logs/program/root/signature/slot/slotsUpdates
|
||||
Helius extension transactionSubscribe / transactionUnsubscribe
|
||||
Helius absent block / vote
|
||||
slotsUpdates unstable
|
||||
heartbeat Helius WebSocket Ping control frame / 60 s
|
||||
Config V2 helius_laserstream + provenance/redaction secret
|
||||
moteur physique un seul WsSession actor partagé
|
||||
smoke Helius live reporté vers future intégration/orchestration
|
||||
LaserStream gRPC backend distinct, hors namespace WebSocket
|
||||
```
|
||||
|
||||
Aucun changement runtime n'est nécessaire dans `pre.011`.
|
||||
|
||||
## Prompt `0.2.9`
|
||||
|
||||
Création de :
|
||||
|
||||
```text
|
||||
prompts/014-V0_2_9_START_PROMPT.md
|
||||
```
|
||||
|
||||
Titre :
|
||||
|
||||
```text
|
||||
0.2.9 — Yellowstone gRPC standard/provider-neutral
|
||||
```
|
||||
|
||||
Le prompt a été construit après relecture de :
|
||||
|
||||
```text
|
||||
docs/rules/PROMPT_STRUCTURE.md
|
||||
prompts/010-V0_2_5_START_PROMPT.md
|
||||
prompts/011-V0_2_6_START_PROMPT.md
|
||||
prompts/012-V0_2_7_START_PROMPT.md
|
||||
prompts/013-V0_2_8_START_PROMPT.md
|
||||
```
|
||||
|
||||
Le squelette reprend la structure stricte récente de `0.2.7`/`0.2.8`, tout en conservant la profondeur métier/threat-model/sizing des prompts `0.2.5`/`0.2.6`.
|
||||
|
||||
Le prompt contient explicitement les rubriques requises par `PROMPT_STRUCTURE.md` :
|
||||
|
||||
```text
|
||||
identité/base exacte
|
||||
mission/résultat
|
||||
sources internes ordonnées
|
||||
sources externes à réauditer
|
||||
état stable à préserver
|
||||
frontières architecturales/dependencies
|
||||
décisions acquises/questions ouvertes
|
||||
objectifs/livrables/hors périmètre
|
||||
sécurité/API/lifecycle/resources
|
||||
pre.001 détaillée + gate de sortie
|
||||
prévision souple initiale détaillée
|
||||
version/deltas/commits/archives/tags
|
||||
validation opérateur
|
||||
critères de clôture
|
||||
release suivante
|
||||
instruction d'ouverture
|
||||
```
|
||||
|
||||
### Gate `0.2.9-pre.001`
|
||||
|
||||
Le prompt interdit l'implémentation lourde Yellowstone avant :
|
||||
|
||||
- audit du service/proto upstream réellement courant ;
|
||||
- classification standard/provider-extension de chaque RPC/message ;
|
||||
- audit de `Subscribe`, unary RPCs, replay/from_slot et extensions deshred ;
|
||||
- comparaison des stratégies `yellowstone-grpc-client`, `yellowstone-grpc-proto + tonic` ou wire KSP borné ;
|
||||
- audit licence/MSRV/features/build-dependencies/transitifs ;
|
||||
- architecture gRPC distincte de HTTP/WS ;
|
||||
- threat model ;
|
||||
- sizing et recalibrage du forecast.
|
||||
|
||||
Le snapshot upstream du 2026-08-23 est uniquement informatif. Le repository/master observé comporte un workspace AGPL-3.0 et des versions Yellowstone/Tonic/Prost qui ne sont pas nécessairement synchronisées avec les releases/crates stables. Le prompt exige donc l'audit de la licence exacte de chaque crate/proto/source réellement utilisé avant toute dépendance, copie ou génération vendored dans KSP MIT.
|
||||
|
||||
### Forecast initial souple `0.2.9`
|
||||
|
||||
Le prompt fournit un forecast de départ détaillé :
|
||||
|
||||
```text
|
||||
pre.001 audit/matrice/licences/dependencies/architecture/threat-model/sizing
|
||||
pre.002 stratégie proto/client + settings/errors/façade provider-neutral
|
||||
pre.003 connexion/TLS/metadata + lifecycle minimal + unary canaries
|
||||
pre.004 SubscribeRequest foundation + validations/bounds communs
|
||||
pre.005 Accounts + Slots
|
||||
pre.006 Transactions + transaction_status
|
||||
pre.007 Blocks + block_meta + entry / autres variantes retenues
|
||||
pre.008 stream bidirectionnel + mutation/Ping/backpressure/shutdown
|
||||
pre.009 reconnect/resubscribe/from_slot/replay/adversarial
|
||||
pre.010 Config -> Transport gRPC si retenu par l'audit
|
||||
pre.011 compliance Yellowstone + non-régressions HTTP/WS
|
||||
pre.012 live opt-in si sûr + README/USAGE + cargo tree final
|
||||
pre.013 workspace final + plan/matrice/indexes + prompt 0.2.10
|
||||
rel.001 publication stable stricte
|
||||
```
|
||||
|
||||
Ce forecast est explicitement recalibrable en `pre.001`, autorise fixes et prereleases supplémentaires, et impose un split avant client lourd si la surface réelle est trop grande pour une release concrète raisonnable.
|
||||
|
||||
## Synchronisation documentaire
|
||||
|
||||
Les index et la séquence fonctionnelle sont mis à jour pour refléter l'état candidate réel de `0.2.8` et l'existence du prompt `0.2.9` :
|
||||
|
||||
```text
|
||||
docs/000-README.md
|
||||
docs/plans/000-README.md
|
||||
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
||||
docs/plans/015-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET_PLAN.md
|
||||
docs/validation/000-README.md
|
||||
docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md
|
||||
prompts/000-README.md
|
||||
```
|
||||
|
||||
`ROADMAP.md` et `CHANGELOG.md` restent volontairement inchangés : leur synchronisation stable appartient à `rel.001`, conformément au workflow KSP.
|
||||
|
||||
## Version
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.2.8-pre.11
|
||||
livraison = 0.2.8-pre.011
|
||||
commit attendu = v0.2.8-pre.011
|
||||
Git tag = aucun
|
||||
```
|
||||
|
||||
## Fichiers de la livraison
|
||||
|
||||
Overlay attendu :
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
deltas/0.2.8/pre.011.md
|
||||
docs/000-README.md
|
||||
docs/plans/000-README.md
|
||||
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
||||
docs/plans/015-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET_PLAN.md
|
||||
docs/validation/000-README.md
|
||||
docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md
|
||||
prompts/000-README.md
|
||||
prompts/014-V0_2_9_START_PROMPT.md
|
||||
```
|
||||
|
||||
## Gate opérateur
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Comptages Transport attendus, inchangés :
|
||||
|
||||
```text
|
||||
unit 335
|
||||
public API 41
|
||||
release completeness 34
|
||||
doctests 4
|
||||
```
|
||||
|
||||
Les `cargo tree` n'ont pas besoin d'être rejoués pour cette tranche documentaire/versionnée : aucun manifest de dépendances n'est modifié hors la version workspace, et les trois graphes finaux ont déjà été fournis au gate `pre.010`.
|
||||
|
||||
Si ce gate est vert, la prochaine tranche est `0.2.8-rel.001`. `pre.012+` reste possible uniquement si un défaut réel est découvert.
|
||||
Reference in New Issue
Block a user