Files
khadhroony-solana-project/deltas/0.1.3/rel.001.md
2026-08-16 08:06:38 +02:00

6.7 KiB

Delta 0.1.3-rel.001 — publication stable Configuration foundation

Base requise

0.1.3-pre.015 avec les correctifs documentaires pre.015-fix.001 et pre.015-fix.002, au sens des commits de livraison correspondants, avec :

workspace.package.version = "0.1.3-pre.15"

Les deux fixes de pre.015 ne modifient pas la version Cargo.

Objectif

Publier la release stable 0.1.3, clôturer Configuration foundation et préparer l'ouverture de 0.1.4 — ksp-app-config-desk sans ajouter de nouvelle fonctionnalité runtime.

Version Cargo

workspace.package.version passe de :

0.1.3-pre.15

à :

0.1.3

Le header de Cargo.toml passe de version 60 à 61.

Aucune dépendance ni feature Cargo n'est ajoutée ou retirée par cette publication.

Validations finales exécutées par le user

Commandes communiquées avec succès le 2026-08-16 sur 0.1.3-pre.15 après application de pre.015-fix.001 et pre.015-fix.002 :

cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
cargo tree -p ksp-config-lib
cargo tree -p ksp-config-lib -d
cargo tree -p ksp-config-lib -e features
cargo tree -p ksp-config-lib -e normal
cargo tree -p ksp-logging-lib -d

Résultats communiqués :

  • cargo check --workspace : succès ;
  • cargo clippy --workspace --all-targets : succès sans warning communiqué ;
  • cargo test --workspace : succès ;
  • ksp-config-lib : 80 tests unitaires, 4 audits ownership et 11 tests publics réussis ;
  • ksp-core-lib : 14 tests unitaires et 3 tests publics réussis ;
  • ksp-logging-lib : 34 tests unitaires et toutes les intégrations exécutées réussies ; le probe d'overhead reste volontairement ignored par défaut ;
  • cargo tree -p ksp-config-lib -d : seul doublon observé, syn 2.0.119 / syn 3.0.3, transitif via jsonschema et ses dépendances ;
  • cargo tree -p ksp-config-lib -e normal : graphe runtime cohérent avec Core, Logging, serde, serde_json et jsonschema ;
  • cargo tree -p ksp-logging-lib -d : aucun doublon.

Surface stable publiée

0.1.3 stabilise notamment :

  • ksp-config-lib comme propriétaire unique KSP des documents Config, schemas, profils, compositions, variables applicatives KSP/KSPB, .env, interpolation et persistence autorisée ;
  • le bootstrap non récursif cfgpath / schemapath et les overrides physiques --filemap=<file_id>=<filename> ;
  • le registre logique file_id -> filename et l'association logique document/schema ;
  • parsing JSON, validation JSON Schema Draft 2020-12 et validation sémantique KSP ;
  • globals, default_profile, profils, provenance de sélection et compositions par file_id ;
  • priorité process environment > .env > fallback > missing, avec chaîne vide explicitement définie ;
  • placeholders ${NAME} et ${NAME:-fallback} sous contrôle exclusif de Config ;
  • sensibilité Public / Internal / Secret, valeurs réelle/sûre et provenance par segment/pointeur JSON ;
  • redaction des secrets dans les surfaces sûres et accès réel explicite pour les consumers/management légitimes ;
  • Config -> ksp_logging_lib::LoggingSettings, validation effective de logs_directory, console, multi-sinks, formats, rotations, targets et domains ;
  • management typé de std.logging.json, lecture management du source brut et persistence atomique ;
  • create/update/remove .env, preservation des commentaires/lignes non ciblées, permissions existantes et mode 0600 pour un nouveau .env sur Unix ;
  • rapports de changement distinguant source/effective/shadowing/reload ;
  • audits d'ownership empêchant les crates hors Config de contourner Config pour les variables KSP/KSPB ou les ressources physiques gérées ;
  • audit automatique de couverture .env.example ;
  • documentation durable ksp-config-lib/README.md, USAGE.md et TODO.md.

La release complète également ksp-logging-lib avec les capacités nécessaires au contrat std.logging.json : settings multi-output, runtime multi-sink, routing niveau/target/domain, formats et hot reload transactionnel, sans introduire de dépendance inverse Logging -> Config.

Documentation de clôture

Le présent delta :

  • ajoute 0.1.3 en tête de CHANGELOG.md ;
  • marque 0.1.3 réalisée dans ROADMAP.md ;
  • clôt 005-V0_1_3_CONFIG_FOUNDATION_PLAN.md comme plan historique ;
  • actualise les index docs/plans et la séquence fonctionnelle ;
  • corrige dans le README racine l'ancienne mention apps/ : les packages Rust KSP, y compris les applications Tauri, vivent directement sous crates/ selon la convention workspace retenue ;
  • conserve prompts/004-V0_1_4_START_PROMPT.md comme prompt final d'ouverture de la release suivante.

Fichiers ajoutés

deltas/0.1.3/rel.001.md

Fichiers modifiés

Cargo.toml
CHANGELOG.md
ROADMAP.md
README.md
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md

Fichiers supprimés

Aucun.

Décisions

Aucune nouvelle décision fonctionnelle Config n'est introduite par rel.001.

La publication stable confirme les décisions prises pendant 0.1.3, notamment l'ownership exclusif de Config, la séparation source/effective, la politique de sensibilité/redaction, la persistence atomique et la frontière Config -> Logging.

Les conventions Tauri ajoutées dans pre.015-fix.001/.002 servent de contraintes d'entrée pour 0.1.4, mais leur implémentation appartient à cette release suivante.

Validation du commit stable

Ce delta modifie Cargo.toml et de la documentation, mais aucun fichier Rust. Conformément aux règles KSP, cargo fmt --all n'est pas requis par une modification Rust dans ce delta.

Avant publication/tag, exécuter sur workspace.package.version = "0.1.3" :

cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
cargo tree -p ksp-config-lib
cargo tree -p ksp-config-lib -d
cargo tree -p ksp-config-lib -e normal
cargo tree -p ksp-logging-lib -d

cargo test --workspace est approprié ici car il s'agit précisément de la fermeture d'une version stable.

Publication Git

Après validation du delta :

  1. vérifier le working tree ;
  2. créer le commit de release :
v0.1.3-rel.001
  1. créer le tag stable :
v0.1.3

Aucun tag des prereleases/fixes intermédiaires n'est requis.

Suite

Après le tag v0.1.3, ouvrir :

0.1.4-pre.001

avec :

prompts/004-V0_1_4_START_PROMPT.md

0.1.4-pre.001 commence par brainstorming, audit de la base Tauri de khadhroony-bot3 et planification détaillée avant implémentation de ksp-app-config-desk.