This commit is contained in:
2026-08-13 16:09:07 +02:00
parent 5f6c2ef45e
commit 199550bc82
25 changed files with 1233 additions and 1 deletions

113
deltas/0.0.2/pre.001.md Normal file
View File

@@ -0,0 +1,113 @@
<!-- file: deltas/0.0.2/pre.001.md -->
<!-- version: 2 -->
# Delta `0.0.2-pre.001`
## Base requise
- dépôt KSP initialisé ;
- version `0.0.1` validée et commitée ;
- `.gitignore` de `0.0.1` présent à la racine.
## Type de livraison
`ksp-general-0.0.2-pre.001.zip`
## Objectif
Proposer une première fondation `0.0.2` à corriger et valider, sans développement métier :
- README général de KSP ;
- workspace Cargo Rust 2024 minimal ;
- reprise initiale de `rustfmt.toml` et `clippy.toml` depuis `khadhroony-bot3` ;
- index normatif et premières règles générales, Rust, KSP, documentaires et de versionnement ;
- contrat initial des familles de fichiers ;
- création du premier squelette `ksp-core-lib`, nécessaire pour disposer d'un workspace Cargo possédant au moins un membre ;
- mise en place du système unique `deltas/`.
## Fichiers ajoutés
```text
Cargo.toml
README.md
RULES.md
clippy.toml
rustfmt.toml
crates/ksp-core-lib/Cargo.toml
crates/ksp-core-lib/src/lib.rs
docs/000-README.md
docs/rules/FILE_CONTRACTS.md
docs/rules/RULES_DOCUMENTATION.md
docs/rules/RULES_GENERAL.md
docs/rules/RULES_KSP.md
docs/rules/RULES_RUST.md
docs/rules/VERSION_WORKFLOW.md
deltas/0.0.2-pre.001.md
```
## Fichiers modifiés
Aucun fichier de la base `0.0.1` n'est modifié.
## Fichiers supprimés
Aucun.
## Décisions incorporées dans cette proposition
- aucun `rust-toolchain.toml` ;
- lockfiles volontairement non versionnés ;
- bibliothèques nommées `ksp-<role>-lib` ;
- applications nommées sous `ksp-app-*` ;
- workers nommés sous `ksp-worker-*` ;
- demos terminées par `-demo` ;
- crates directement sous `crates/` ;
- `docs/000-README.md` comme index documentaire ;
- un seul répertoire `deltas/` pour toutes les livraisons ;
- archives `ksp-general-*` et `ksp-doc-*` partageant le même identifiant de livraison ;
- un seul changelog général à terme, sans changelog par crate par défaut ;
- première crate squelette : `ksp-core-lib` ;
- future bibliothèque commune d'interface/wire : nom de travail `ksp-interface-lib` ;
- matérialisation séparée de la couche programmes/interfaces ;
- regroupement decoder/constructeur/exécution encore ouvert ;
- nomenclature initiale des environnements de demo : `mainnet`, `devnet`, `testnet`, `local-validator`, `synthetic`, absence de token = environnement sélectionnable.
## Validations exécutées
- vérification de la structure de l'archive ;
- parsing TOML des manifestes et configurations avec la bibliothèque standard Python ;
- vérification des fins de fichiers texte ;
- vérification de l'absence de `Cargo.lock`, lockfile Node, `target/`, secret ou artefact généré dans la livraison ;
- consultation de la documentation Cargo officielle concernant les workspaces virtuels et la nécessité d'au moins un membre.
## Validations non exécutées
- `cargo fmt --all` ;
- `cargo check --workspace` ;
- `cargo test --workspace` ;
- `cargo clippy --workspace --all-targets`.
Ces commandes n'ont pas pu être exécutées dans l'environnement de production de cette livraison car l'exécutable `cargo` n'y est pas disponible. Elles doivent être exécutées après extraction avant validation de la prerelease.
## Points à corriger ou valider
1. Valider la distinction entre version Cargo `0.0.2-pre.1` et identifiant de livraison `0.0.2-pre.001`.
2. Valider ou modifier le `msrv = "1.85.0"` repris de `khadhroony-bot3` dans `clippy.toml`.
3. Valider la nomenclature des environnements de demo, notamment le token `local-validator`.
4. Valider le nom provisoire `ksp-interface-lib` pour la future crate commune wire/interface.
5. Valider si `ksp-core-lib` doit rester strictement vide fonctionnellement jusqu'à la phase architecturale suivante.
6. Vérifier si les règles Rust reprises sont complètes ou si certaines règles de `khadhroony-bot3` doivent être supprimées, reformulées ou déplacées vers une portée KSP spécifique.
7. Vérifier le niveau de détail attendu de `FILE_CONTRACTS.md` avant d'étendre le catalogue aux futurs fichiers.
## Application
Extraire l'archive depuis la racine du dépôt `khadhroony-solana-project`, puis exécuter :
```bash
cargo fmt --all
cargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
```
Ne pas commiter la prerelease avant correction des points refusés et validation des commandes disponibles localement.