# 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--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.