Files
khadhroony-solana-project/prompts/005-V0_2_1_START_PROMPT.md
2026-08-17 08:55:24 +02:00

69 lines
4.2 KiB
Markdown
Raw 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: prompts/005-V0_2_1_START_PROMPT.md -->
<!-- version: 1 -->
# Prompt de démarrage `0.2.1` — ouverture des capacités Solana N2
## Contexte de reprise
La base attendue est la release stable `v0.1.4` de `khadhroony-solana-project`. Les fondations `ksp-core-lib`, `ksp-logging-lib`, `ksp-config-lib` et la première application de référence `ksp-app-config-desk` sont alors stabilisées.
`0.2.x` ouvre les capacités Solana N2. Les candidats déjà retenus par larchitecture sont notamment :
- `ksp-wallet-lib` puis une application wallet spécialisée ;
- `ksp-onchain-transport-lib` ;
- `ksp-interface-lib` pour les contrats wire/réexports/réimplémentations compatibles ;
- plus tard `ksp-program-api` / `ksp-program-lib` puis la chaîne dexécution.
Wallet, transport on-chain et Interface sont partiellement indépendants. **Ne pas supposer leur ordre sans le réévaluer.**
## Première mission : `0.2.1-pre.001`
La première prerelease est une tranche de **brainstorming, audit et planification**, pas une grosse implémentation.
Elle doit :
1. partir de la base stable `v0.1.4` et relire `ROADMAP.md`, `docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`, les règles N1/N2 et les décisions darchitecture ;
2. inventorier les besoins réels et dépendances pour Wallet, transport on-chain et Interface/wire ;
3. sélectionner **un seul premier périmètre fonctionnel borné** pour `0.2.1` ;
4. justifier cet ordre par les premiers scénarios dusage et les dépendances réelles, pas par symétrie avec bot2/bot3 ;
5. définir les contrats publics minimaux, hors-périmètre, risques, dépendances externes, tests et critères de clôture ;
6. produire le plan détaillé `docs/plans/007-V0_2_1_..._PLAN.md` avec une prévision souple des prereleases ;
7. ne commencer le développement fonctionnel quaprès validation de ce plan.
## Contraintes architecturales à préserver
- Rust 2024, `unsafe` interdit, pas de `unwrap`/`expect`/`panic` ni opérateur `?` selon les règles KSP ;
- dépendances externes communes sous `[workspace.dependencies]` puis `.workspace = true` ;
- `ksp-config-lib` reste seul propriétaire de Config, `.env`, environnement et persistence Config ;
- `ksp-logging-lib` reste seule façade/propriétaire du runtime `tracing` ;
- les applications Tauri restent minces et suivent le modèle validé par Config Desk ;
- `cargo tauri build -c ...` reste la dernière opération de validation Tauri ;
- les executables KSP ne dépendent pas directement des crates Solana/protocoles au-delà des exceptions bas niveau explicitement autorisées ;
- `ksp-interface-lib` possède les interfaces/wires Solana/SPL/Metaplex nécessaires lorsquun réexport contrôlé ou une réimplémentation compatible est préférable à une dépendance métier directe ;
- les APIs publiques extensibles utilisent les crates `*-api` prévues par larchitecture ;
- les demos/scénarios restent spécialisés et ne dupliquent pas la logique des bibliothèques.
## Points à réexaminer explicitement
### Wallet
Évaluer format KSP, stockage/chiffrement, import/export, pubkey/signature, séparation secret/public, profils/réseaux et frontière avec Config. Ne pas déplacer les secrets wallet dans Config par commodité.
### Transport on-chain
Évaluer RPC HTTP/WS, providers, timeouts/retry/backoff, subscriptions, modèles de réponse homogènes, séparation transport/store et configuration des endpoints. Aucun Store nest introduit dans `0.2.1` sauf décision explicite de replanification.
### Interface/wire
Réévaluer la politique de réexport/réimplémentation pour les interfaces Solana/SPL/Metaplex déjà identifiées. La crate doit éviter les doublons de versions et permettre aux crates KSP supérieures de ne pas dépendre directement des bibliothèques métier externes.
## Discipline de session
- `pre.001` : réflexion + plan ;
- prereleases suivantes : tranches bornées ;
- dernière prerelease : validations finales, documentation, nettoyage, changelog et prompt suivant ;
- un défaut livré reçoit un `fix.NNN`, il nest pas réécrit silencieusement ;
- tous les deltas `0.2.1` sont commités.
Commencer la session par laudit/brainstorming de `0.2.1-pre.001` et proposer la sélection du premier périmètre N2 avant toute modification fonctionnelle.