v0.2.0-pre.002

This commit is contained in:
2026-08-17 13:33:37 +02:00
parent 7d40de3249
commit 259bff6707
23 changed files with 2999 additions and 3301 deletions

195
deltas/0.2.0/pre.002.md Normal file
View File

@@ -0,0 +1,195 @@
<!-- file: deltas/0.2.0/pre.002.md -->
<!-- version: 1 -->
# Delta `0.2.0-pre.002`
## Identité
```text
release : 0.2.0
prerelease : pre.002
identifiant de commit attendu : v0.2.0-pre.002
workspace.package.version : 0.2.0-pre.2
base : 0.2.0-pre.001
```
Cette livraison est une **nouvelle tranche planifiée** et non un `pre.001-fix.001` : `pre.001` avait volontairement laissé le découpage `0.2.1+` ouvert. `pre.002` ajoute de nouvelles décisions de planification/architecture issues de l'audit et du brainstorming suivants.
## Mission
Consolider le plan de série `0.2.x`, fixer la première séquence fonctionnelle, corriger l'ancienne ambiguïté D1/D2 liée au décodage Program, établir la progression `RAW -> CORE -> DECODE -> SPECIALIZED`, formaliser la discipline de sizing d'une release/session et préparer un prompt de démarrage complet pour `0.2.1`.
Aucune capacité Solana runtime N2 n'est implémentée dans cette tranche.
## Décisions principales
### Dimensionnement
- une prerelease vise environ 1520 minutes de travail effectif ;
- une release concrète doit être entièrement clôturable dans une seule session de chat ;
- si `pre.001` révèle un risque de dépassement, la release est scindée avant implémentation fonctionnelle lourde.
### Début de `0.2.x`
```text
0.2.1 HTTP Solana foundation
0.2.2 ksp-wallet-lib / .kspwallet
0.2.3 ksp-app-wallet-desk
0.2.4 standard WebSocket
0.2.5 Helius LaserStream WebSocket
0.2.6 Yellowstone gRPC standard foundation
0.2.7 off-chain price transport
0.2.8 price desk
0.2.9 ksp-interface-lib foundation
0.2.10 ksp-program-api foundation
```
HTTP précède Wallet afin que Wallet Desk puisse être validé avec un solde réseau réel.
### Transport
- `ksp-onchain-transport-lib` possède ses settings publics et ne dépend pas de Config ;
- `ksp-config-lib` peut fournir un document standard Transport et un adapter Config -> Transport ;
- pools/rôles/priorités/limites HTTP sont retenus ;
- toute méthode documentée de la surface normative ciblée doit être inventoriée/implémentée sauf impossibilité documentée ;
- une méthode deprecated/obsolete encore fonctionnelle émet un warning KSP à l'utilisation ;
- une méthode unstable/experimental émet également un warning KSP ;
- WebSocket autorise plusieurs sessions sur une même URL mais n'impose pas encore un pool automatique ;
- Helius WS réutilise le moteur standard ;
- Yellowstone reste provider-neutral dans sa première version ;
- providers avancés/shred streams sont reportés dans IDEAS.
### Wallet
- format natif KSP : `.kspwallet` ;
- temporary wallet JSON historique abandonné ;
- `WalletPolicy` sort de Wallet et relève de la future execution policy ;
- import/export reste extensible, formats supplémentaires suivis dans IDEAS.
### Interface / Program / Policy
- `ksp-interface-lib` expose sa propre API publique wire ; pas de `ksp-interface-api` séparée actuellement ;
- nomenclature confirmée : `ksp-program-api` / `ksp-program-lib` ;
- `ksp-execution-policy-api` reste le contrat commun ; petites policies locales dans scenarios/orchestrateurs, libs communes uniquement si réutilisation réelle.
### Données
La chaîne durable devient explicitement :
```text
RAW -> CORE -> DECODE -> SPECIALIZED
```
- RAW et CORE ne nécessitent aucun decoder Program ;
- CORE est une normalisation générique Solana ;
- Program decoding commence à CORE -> DECODE ;
- à partir de DECODE, progression verticale groupe par groupe.
### Groupes Program
Ordre prioritaire :
```text
Solana Core Programs
-> SPL token/trading
-> token metadata
-> Anchor
-> Meteora
-> Raydium
-> Pump
-> Orca
-> Market Desk V1
-> Jupiter/OKX routing
-> Market Desk V2
-> trading-adjacent
-> general decoding
```
Les programmes satellites nécessaires restent dans leur groupe : Meteora vaults avec Meteora, Pump fee avec Pump, etc.
### Market Desk
Une première `ksp-app-market-desk` est prévue après les DEX prioritaires pour afficher notamment tokens, pools, liquidity, trades, prix et OHLC. Elle est enrichie après routing avec routes/legs/fees/slippage/quote-execution.
## Fichiers modifiés
```text
Cargo.toml
ROADMAP.md
docs/000-README.md
docs/IDEAS.md
docs/architecture/002-LAYERS_AND_DEPENDENCIES.md
docs/architecture/003-COMPONENT_CONTRACTS.md
docs/architecture/004-COMPONENT_INVENTORY.md
docs/architecture/005-DEPENDENCY_GRAPH.md
docs/architecture/006-WIRE_AND_PROGRAM.md
docs/architecture/007-EXECUTION_AND_POLICY.md
docs/architecture/008-DATA_MATERIALIZATION_AND_STORE.md
docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md
docs/plans/000-README.md
docs/plans/001-V0_0_3_PLAN.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/007-V0_2_0_SERIES_PLANNING.md
docs/rules/PROMPT_STRUCTURE.md
docs/rules/RULES_DEPENDENCIES.md
docs/rules/RULES_KSP.md
prompts/000-README.md
```
## Fichier ajouté
```text
prompts/006-V0_2_1_START_PROMPT.md
```
Le prompt `0.2.1` impose notamment :
- audit bot3 précis ;
- consultation des sources officielles Solana actuelles ;
- matrice exhaustive des méthodes HTTP ;
- classification stable/deprecated/unstable ;
- warnings runtime appropriés ;
- ownership Config/Transport ;
- pools/rôles/limites ;
- tests/canaries ;
- gate de sizing avant grosse implémentation ;
- préparation du futur plan `docs/plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md`.
## Validations réalisées dans l'environnement d'échange
- parsing TOML du `Cargo.toml` via Python `tomllib` ;
- contrôle de la version Cargo `0.2.0-pre.2` ;
- contrôle des en-têtes `<!-- file: ... -->` / `<!-- version: ... -->` des fichiers modifiés ;
- contrôle des fences Markdown équilibrées ;
- contrôle des liens Markdown locaux des fichiers modifiés ;
- recherche de contradictions actives principales (`ksp-program-api-lib`, ancienne dépendance Program dans RAW -> CORE, anciennes chaînes de workers/pipelines figées) ;
- annotation explicite du plan historique `0.0.3` pour distinguer ses anciennes décisions des règles désormais actives ;
- contrôle de l'archive d'échange et calcul SHA-256.
## Validations non exécutables dans cet environnement
Le conteneur d'échange ne fournit ni `cargo` ni `rustc`. Les commandes Rust doivent donc être exécutées après application sur le dépôt canonique :
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
```
Aucune de ces commandes n'est déclarée réussie dans ce delta.
## Commit attendu
Après application et validations sur le dépôt canonique :
```text
v0.2.0-pre.002
```
Conformément aux règles KSP, ce commit de prerelease ne reçoit pas de tag Git stable.
## Suite
Le travail restant de `0.2.0` est volontairement court : audit de cohérence final, correction des écarts documentaires restants, finalisation du prompt `0.2.1`, puis publication `0.2.0-rel.001` lorsque le cadrage est validé.