Files
2026-08-23 11:15:57 +02:00

132 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.2.7/pre.014.md -->
<!-- version: 1 -->
# Delta `0.2.7-pre.014` — clôture candidate, audit documentaire et prompt `0.2.8`
## Base
Base autoritaire fournie par lopérateur : copie complète `0.2.7-pre.013`, déjà validée par `fmt`, audit structurel KSP, `check`, `clippy`, tests Transport/workspace, audit `cargo tree` et smoke WebSocket Devnet opt-in.
La livraison non-fix synchronise `workspace.package.version` vers `0.2.7-pre.14` conformément à `VER-ID-009`.
## Preuve opérateur héritée de `pre.013`
```text
cargo fmt --all OK
python3 scripts/audit_rust_workspace_rules.py OK
cargo check --workspace OK
cargo clippy --workspace --all-targets OK
cargo test -p ksp-onchain-transport-lib OK — 309 unit / 36 public API / 24 release completeness
cargo test --workspace OK
Config unit tests OK — 109
Core workspace dependency tests OK — 3
WebSocket Devnet smoke opt-in OK
```
Le smoke live valide `slotSubscribe -> slotNotification -> unsubscribe -> close` contre `wss://api.devnet.solana.com`.
Le graphe Transport résout notamment `reqwest 0.13.4`, `tokio 1.53.1`, `tokio-tungstenite 0.30.0` et `futures-util 0.3.34`. Les doublons locaux `syn` 2/3 et `webpki-roots` 0.26/1.0 sont transitifs/upstream et sont conservés ; aucune unification artificielle nest introduite.
## Audit documentaire
Audit effectué sur la copie complète du workspace, pas sur un overlay partiel.
Constats structurels :
- 83 documents Markdown durables contrôlés après correction ;
- aucun lien relatif Markdown réellement cassé dans la documentation durable auditée ;
- headers `file`/`version` cohérents sur les documents durables contrôlés ;
- séquence `0.2.7 -> 0.2.8 -> 0.2.9` cohérente entre ROADMAP, plan fonctionnel et architecture ;
- `CHANGELOG.md` reste réservé à la publication stable et nest pas modifié ici ;
- le statut stable de `0.2.7` reste réservé à `rel.001`.
Corrections/synchronisations :
- `ROADMAP.md` passe `0.2.7` en candidate/en cours `[/]`, sans le déclarer stable ;
- plan et matrice `0.2.7` enregistrent les preuves opérateur `pre.013`, le smoke live et lanalyse des doublons Cargo ;
- les index `docs/`, `plans/`, `validation/` et `prompts/` sont synchronisés ;
- la séquence fonctionnelle `0.2.7 -> 0.2.8 -> 0.2.9` est réalignée sur le statut candidate et la preuve de clôture ;
- `ksp-core-lib`, bibliothèque déjà complétée mais dépourvue de documentation locale, reçoit les `README.md` et `USAGE.md` durables exigés par `FILE_CONTRACTS.md`, fondés sur son API publique réelle ;
- `ksp-onchain-transport-lib/README.md` décrit la surface HTTP + WebSocket réellement acquise sans organiser le contrat WebSocket par numéros de prerelease ;
- `ksp-onchain-transport-lib/USAGE.md` devient un guide durable sans notes de version, conformément à `FILE_CONTRACTS.md` ;
- les narrations de prerelease/version présentes dans les README/USAGE historiques de Config Desk, Wallet Desk, Config, Logging et Wallet sont réécrites en contrats présents sans déplacer lhistorique hors des plans/deltas ;
- le scan final des `crates/*/README.md` et `crates/*/USAGE.md` ne contient plus de `pre.NNN`, `rel.NNN` ni de version KSP littérale utilisée comme note de release ;
- aucun refactoring documentaire historique non nécessaire nest entrepris hors de ces écarts.
## Prompt `0.2.8`
Ajout de `prompts/013-V0_2_8_START_PROMPT.md`, rédigé selon `docs/rules/PROMPT_STRUCTURE.md`.
Le prompt :
- exige la base stable exacte `v0.2.7` ;
- impose lordre de lecture des sources internes ;
- impose un réaudit Helius officiel actuel avant implémentation et référence les points dentrée documentaires actuels `/docs/rpc/websocket`, `/docs/api-reference/rpc/websocket*`, `/docs/faqs/websockets` et `docs/llms.txt` ;
- conserve les frontières HTTP/WebSocket/session/reconnect/backpressure/secrets acquises ;
- interdit de dupliquer le client WebSocket standard ;
- distingue LaserStream WebSocket de LaserStream gRPC et Yellowstone gRPC ;
- laisse ouvertes les décisions `transactionSubscribe/unsubscribe`, `notifyOn`, `tokenAccounts`, capability mapping, heartbeat/idle et shape Config jusquau gate ;
- rend `0.2.8-pre.001` strictement audit/brainstorming/sizing ;
- fournit une prévision souple visible et des critères de clôture ;
- prépare `0.2.9 — Yellowstone gRPC standard/provider-neutral` sans lanticiper.
## Runtime / API
Aucun fichier `src/` nest modifié. Aucun contrat HTTP/WebSocket, DTO, lifecycle, reconnect, backpressure, Config runtime ou dépendance directe Transport nest changé.
## Fichiers
```text
Cargo.toml
ROADMAP.md
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md
docs/validation/000-README.md
docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md
prompts/000-README.md
prompts/013-V0_2_8_START_PROMPT.md
crates/ksp-app-config-desk/README.md
crates/ksp-app-config-desk/USAGE.md
crates/ksp-app-wallet-desk/README.md
crates/ksp-config-lib/README.md
crates/ksp-config-lib/USAGE.md
crates/ksp-core-lib/README.md
crates/ksp-core-lib/USAGE.md
crates/ksp-onchain-transport-lib/README.md
crates/ksp-onchain-transport-lib/USAGE.md
crates/ksp-logging-lib/USAGE.md
crates/ksp-wallet-lib/README.md
crates/ksp-wallet-lib/USAGE.md
deltas/0.2.7/pre.014.md
```
## Validation opérateur requise
```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
```
Les graphes Cargo et le smoke live nont pas besoin dêtre rejoués sur cette tranche documentaire si la base appliquée est exactement `pre.013`; ils redeviennent obligatoires si le graphe ou le chemin WebSocket est modifié.
Comptages attendus inchangés :
```text
Transport unit tests = 309
Transport public API tests = 36
Transport release completeness = 24
Transport WebSocket live smoke = 1 ignored par défaut
Config unit tests = 109
Core workspace dependency tests = 3
```
## Suite
Si `pre.014` est vert, la suite est `0.2.7-rel.001` : publication stable, Cargo `0.2.7`, `ROADMAP.md` `[X]`, synthèse `CHANGELOG.md`, statut final plan/matrice, delta `rel.001`, commit `v0.2.7-rel.001` et tag stable `v0.2.7`.