4.9 KiB
4.9 KiB
Delta 0.0.2-pre.001-fix.001
Base requise
- dépôt KSP initialisé ;
0.0.1commitée ;- livraison
0.0.2-pre.001appliquée ; - prise en compte du
Cargo.tomlracine version 2 et du.cargo/config.tomlversion 1 fournis après la première livraison.
Type de livraison
ksp-general-0.0.2-pre.001-fix.001.zip
Objectif
Corriger la première proposition 0.0.2-pre.001 sans changer son périmètre : améliorer les contrats de fichiers, le README général, le formatage Rust, la politique MSRV, la documentation des crates, la version Cargo des correctifs et la réflexion sur l'organisation future des tests.
Fichiers ajoutés
.cargo/config.toml
deltas/0.0.2-pre.001-fix.001.md
Fichiers modifiés
Cargo.toml
README.md
clippy.toml
rustfmt.toml
docs/000-README.md
docs/rules/FILE_CONTRACTS.md
docs/rules/RULES_DOCUMENTATION.md
docs/rules/RULES_GENERAL.md
docs/rules/RULES_RUST.md
docs/rules/VERSION_WORKFLOW.md
Fichiers supprimés
Aucun.
Corrections et décisions incorporées
- le README racine décrit désormais le projet KSP lui-même et non la seule phase fondatrice ;
- la liste des prédécesseurs et la section d'état/version ont été retirées du README racine ;
DOC-ROOT-002précise que le préfixe000-maintientdocs/000-README.mden tête des listings et arbres lorsque la documentation devient volumineuse ;DOC-CRATE-*recommandeREADME.md,TODO.mdet particulièrementUSAGE.mdsans les imposer mécaniquement à toute crate ;- aucun changelog par crate n'est prévu ;
- la structure exacte de
ROADMAP.mdetCHANGELOG.mdreste à définir avant leur création ; GEN-FILE-004impose l'incrément de version à chaque enregistrement qui modifie le contenu d'un fichier, y compris lorsqu'une modification est ensuite annulée par une nouvelle modification ;msrv = "1.85.0"est retiré declippy.toml; KSP ne déclare actuellement aucun MSRV ;rustfmt.tomlpasse àmax_width = 160et augmente les seuils associés afin que les autres limites explicites ne continuent pas à provoquer des retours proches de 80 caractères ;- les tests unitaires doivent de préférence être séparés des fichiers de production et pourront être stockés sous
tests/unit/, mais ils devront être explicitement rattachés au module testé pour conserver l'accès aux éléments privés ; - la mécanique exacte de rattachement des tests unitaires externes reste à valider avant d'être imposée ;
- la version Cargo de ce correctif devient
0.0.2-pre.1.fix.1afin que les commandes Cargo permettent d'identifier le correctif compilé ; - le
Cargo.tomlracine conserve les métadonnéeslicense,authorsetpublishfournies dans sa version 2 ; .cargo/config.tomlest ajouté avec les chemins de build fournis.
Validations exécutées
- parsing TOML de
Cargo.toml,.cargo/config.toml,clippy.tomletrustfmt.toml; - validation syntaxique interne du format SemVer retenu pour
0.0.2-pre.1.fix.1; - vérification des chemins et de la structure de l'archive ;
- vérification d'une fin de ligne finale unique pour chaque fichier texte livré ;
- vérification de l'absence de lockfile, cache, secret et sortie de compilation dans l'archive ;
- vérification documentaire du comportement Cargo des tests placés sous
tests/; - vérification documentaire de la configuration
max_widthde rustfmt et du comportement MSRV de Clippy.
Validations non exécutées
cargo fmt --all
cargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
L'environnement utilisé pour produire cette livraison ne fournit pas cargo. Ces commandes doivent être exécutées localement avant validation du correctif.
Questions ouvertes
- Version Cargo et livraisons
ksp-doc-*— siCargo.tomldoit refléter absolument chaque identifiant de livraison, y compris une livraison strictement documentaire, alors une archiveksp-doc-*ne peut plus rester limitée àdocs/et/ou aux prompts. Le contrat exact doit être tranché avant de généraliser la règle de synchronisation à toutes les livraisons. - Tests unitaires séparés — valider sur le premier vrai module Rust la mécanique permettant de conserver les fichiers sous
tests/unit/tout en les compilant comme sous-modules unitaires avec accès au privé. - Largeur rustfmt — valider en pratique si les seuils
160/140/100/120donnent le niveau de densité souhaité avant de les considérer définitivement stabilisés. - Métadonnée Cargo
authors— elle est conservée parce qu'elle figure dans leCargo.tomlfourni, mais sa conservation à long terme reste à décider avant clôture de0.0.2.
Application
Extraire l'archive depuis la racine du dépôt, puis exécuter les validations Cargo disponibles localement avant validation ou commit du correctif.