v0.0.2
This commit is contained in:
113
deltas/0.0.2/pre.001.md
Normal file
113
deltas/0.0.2/pre.001.md
Normal 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.
|
||||
Reference in New Issue
Block a user