Files
khadhroony-solana-project/deltas/0.0.3/pre.001-fix.001.md
2026-08-14 00:03:57 +02:00

117 lines
4.2 KiB
Markdown

<!-- file: deltas/0.0.3/pre.001-fix.001.md -->
<!-- version: 1 -->
# Delta 0.0.3-pre.001-fix.001
## Base requise
`0.0.3-pre.001`.
## Objectif
Corriger et préciser le premier plan `0.0.3` à partir du brainstorming suivant :
- confirmer `ksp-interface-lib` comme façade wire KSP ;
- confirmer `ksp-core-lib` comme propriétaire du type d'erreur commun et des Program IDs ;
- retenir le nom `ksp-program-lib` ;
- corriger la politique decoder/executor : le decoder ne déprécie pas les formats historiques décodables, tandis que l'executor peut conserver des opérations obsolètes marquées `deprecated` ;
- confirmer que la sécurité d'exécution appartient à un niveau supérieur ;
- borner W1 à l'acquisition raw live/quasi-live, avec adaptation à chaud et notification ;
- préciser la granularité des demos/scénarios ;
- confirmer la trajectoire managers spécialisés -> orchestrateur ;
- définir `ksp-offchain-transport-lib` comme transport externe général ;
- introduire explicitement un principe contract-first pour les futures couches ;
- affiner la ligne directrice `0.1.x` à `0.7.x`.
## Version Cargo
Aucune modification de `Cargo.toml`.
Ce correctif est exclusivement documentaire. Conformément aux règles KSP, `workspace.package.version` reste donc :
```text
0.0.3-pre.1
```
## Fichiers ajoutés
- `docs/architecture/003-COMPONENT_CONTRACTS.md`
- `deltas/0.0.3/pre.001-fix.001.md`
## Fichiers modifiés
- `docs/architecture/000-README.md`
- `docs/architecture/002-LAYERS_AND_DEPENDENCIES.md`
- `docs/rules/RULES_KSP.md`
- `docs/IDEAS.md`
- `docs/plans/001-V0_0_3_PLAN.md`
## Fichiers supprimés
Aucun.
## Décisions précisées
### Erreurs
La direction reste un type d'erreur public commun dans `ksp-core-lib`. La représentation interne doit éviter de rendre N1 dépendant conceptuellement de chaque futur domaine supérieur.
### Interfaces
`ksp-interface-lib` possède la façade wire KSP : réexports contrôlés des interfaces officielles jugées suffisamment stables et réimplémentations compatibles lorsque KSP ne veut pas importer une crate protocolaire runtime.
### Programmes
Le nom `ksp-program-lib` est retenu.
Le decoder vise toute surface décodable connue. Le statut `deprecated` ne retire pas le décodage d'une surface historique distinguable.
L'executor peut conserver une opération obsolète encore techniquement exécutable en la marquant `deprecated`.
La politique de sécurité d'exécution appartient à une couche supérieure.
### W1
W1 :
- utilise les contrats KSP de configuration, transport et stockage nécessaires ;
- ne travaille que sur du live/quasi-live ;
- persiste du raw ;
- notifie l'arrivée de nouvelles données ;
- peut faire évoluer à chaud ce qu'il écoute/rapatrie/stocke ;
- ne décode pas ;
- ne matérialise pas ;
- ne fait pas de replay.
### Demos/scénarios
Memo, SPL Token classique, ATA et Token-2022 restent dans des demos/scénarios séparés.
Les metadata d'assets/tokens peuvent regrouper Metaplex Token Metadata et Token-2022 Metadata.
Solana Program Metadata reste séparé.
### Contrats précoces
Les grandes interfaces/traits sont définis tôt pour empêcher les premières implémentations de créer des couplages ad hoc. Leur implémentation complète peut rester différée jusqu'au premier besoin concret.
## Ligne directrice confirmée
- `0.1.x` — core/logging/config + application config ;
- `0.2.x` — transport on-chain, wallet, interface wire, program framework ;
- `0.3.x` — materializer/store/W1 + manager ;
- `0.4.x` — premiers Core/SPL/metadata + matérialisations + demos/scénarios ;
- `0.5.x` — Anchor puis protocoles trading par releases bornées ;
- `0.6.x` — W2 + managers/orchestrateur + application globale ;
- `0.7.x` — Trading Intelligence incluant statistiques, features, risque, backtests et ML/XGBoost.
La ligne directrice est stable, tandis que les numéros de releases et le contenu exact restent révisables selon les dépendances et besoins découverts.
## Validations
Correctif documentaire uniquement :
- structure et présence des fichiers vérifiées lors de la génération ;
- aucune commande Cargo requise par le contenu de ce fix ;
- aucune modification fonctionnelle ou runtime.