Files
2026-08-13 16:09:07 +02:00

4.3 KiB

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

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 :

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.