v0.1.4-rel.001

This commit is contained in:
2026-08-17 09:24:35 +02:00
parent 9aa5f171f7
commit a3f44702a2
8 changed files with 124 additions and 17 deletions

View File

@@ -1,10 +1,14 @@
<!-- file: CHANGELOG.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Changelog KSP
Ce changelog résume uniquement les releases KSP considérées comme stables, dans l'ordre chronologique décroissant. Les détails de chaque livraison restent dans `deltas/`.
## 0.1.4 — Config Desk — 2026-08-17
`0.1.4` stabilise `ksp-app-config-desk` comme première application desktop/Tauri spécialisée et modèle de référence des futures applications KSP. La release valide de bout en bout les contrats de `ksp-config-lib` et le lifecycle de `ksp-logging-lib` : shell splash/main, inventaire et diagnostics des documents Config, profils et provenance sûre, management `.env` avec shadowing et reveal Secret privilégié, éditeur Logging typé multi-profils/multi-sinks, persistence atomique, hot reload transactionnel, rollback, sélection runtime explicite, génération observable, fichiers de logs distincts par lancement, bridge frontend vers la façade KSP et panneau Test Logging pour démontrer le routing niveau/target/domain. Elle ajoute également les audits desktop/ownership/sécurité, un registre extensible `file_id -> éditeur spécialisé`, une baseline Logging de release `info`/`warn`, et prépare `0.2.0` comme release intermédiaire daudit de `khadhroony-bot3` et de planification du reste de `0.2.x`.
## 0.1.3 — Configuration foundation — 2026-08-16
`0.1.3` stabilise `ksp-config-lib` comme propriétaire KSP unique des documents Config, schemas, profils, compositions, variables `KSP_*`/`KSPB_*`, `.env`, placeholders et persistence autorisée. La release introduit le bootstrap non récursif `cfgpath`/`schemapath`, le registre logique `file_id -> filename`, JSON Schema, globals/profils/`default_profile`, compositions par `file_id`, priorité process env > `.env` > fallback, sensibilité `Public`/`Internal`/`Secret`, représentations real/safe avec provenance, management/persistence atomique JSON et `.env`, ainsi que l'adapter vers `ksp_logging_lib::LoggingSettings` et les audits d'ownership. Elle complète également `ksp-logging-lib` avec les contrats/runtime multi-sink, routing structuré `domain` et hot reload nécessaires au premier document `std.logging.json`, puis prépare `0.1.4 — ksp-app-config-desk` comme validation desktop/Tauri extensible de cette fondation.

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml
# version: 91
# version: 92
[workspace]
resolver = "3"
members = ["crates/ksp-app-config-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib"]
[workspace.package]
version = "0.1.4-pre.19"
version = "0.1.4"
edition = "2024"
license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md -->
<!-- version: 19 -->
<!-- version: 20 -->
# Roadmap KSP
@@ -34,9 +34,9 @@ Regrouper les releases consacrées aux fondations N1. Chaque release concrète e
- [X] `0.1.1` — Stabiliser `ksp-core-lib` : `Error`/`Result`, Program IDs fondamentaux et primitives réellement N1.
- [X] `0.1.2` — Introduire `ksp-logging-lib` comme façade KSP de `tracing`, `tracing-appender` et `tracing-subscriber`.
- [X] `0.1.3` — Stabiliser `ksp-config-lib` : documents, profils, résolution, validation, environnement KSP/KSPB, management/persistence et adapter Logging.
- [/] `0.1.4` — Introduire `ksp-app-config-desk` pour valider réellement Config et la frontière Tauri.
- [X] `0.1.4` — Introduire `ksp-app-config-desk` pour valider réellement Config et la frontière Tauri.
`0.1.1`, `0.1.2` et `0.1.3` sont désormais stables. `0.1.4` a atteint sa tranche finale `pre.019` avec `ksp-app-config-desk`, première validation desktop/Tauri de Config et modèle des futures applications Tauri KSP ; sa publication stable reste conditionnée à la validation finale puis à `rel.001`.
`0.1.1`, `0.1.2`, `0.1.3` et `0.1.4` sont désormais stables. `0.1.4` publie `ksp-app-config-desk` comme première validation desktop/Tauri de Config et modèle de référence des futures applications Tauri KSP. La prochaine session est `0.2.0`, release intermédiaire daudit de `khadhroony-bot3` et de planification du reste de `0.2.x`.
Les contrats publics supplémentaires ne sont introduits que lorsqu'une release concrète en démontre le besoin.

81
deltas/0.1.4/rel.001.md Normal file
View File

@@ -0,0 +1,81 @@
<!-- file: deltas/0.1.4/rel.001.md -->
<!-- version: 1 -->
# Delta `0.1.4-rel.001` — publication stable de Config Desk
## Base validée
`0.1.4-pre.019` et son correctif documentaire `0.1.4-pre.019-fix.001` sont validés.
La matrice finale a été exécutée dans l'ordre attendu : `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --workspace --all-targets`, `cargo test --workspace`, les trois `cargo tree`, `npm run check` limité à `tsc --noEmit`, le parcours fonctionnel `cargo tauri dev`, puis `cargo tauri build` en toute dernière opération.
Le build Tauri final de la prerelease a produit les trois bundles Linux `.deb`, `.rpm` et `.AppImage` sans erreur.
## Objet
Publier la surface `0.1.4` déjà validée sous version stable, sans ajouter de nouvelle fonctionnalité ni modifier les contrats runtime.
## Changements
- `workspace.package.version` passe de `0.1.4-pre.19` à `0.1.4` ;
- `CHANGELOG.md` reçoit l'entrée stable `0.1.4 — Config Desk` ;
- `ROADMAP.md` marque `0.1.4` réalisée et stable ;
- la séquence fonctionnelle enregistre la publication stable et conserve `0.2.0` comme prochaine release de cadrage ;
- le plan `0.1.4` marque `pre.019` réalisé et enregistre `rel.001` comme clôture stable ;
- la matrice de validation enregistre les preuves opérateur finales du 2026-08-17 ;
- l'index documentaire pointe désormais vers `0.1.4` comme plan historique stable et vers `0.2.0-pre.001` comme prochaine reprise.
## Hors périmètre
Cette release ne modifie pas :
- `ksp-app-config-desk` runtime/frontend ;
- `ksp-config-lib` ;
- `ksp-logging-lib` ;
- `ksp-core-lib` ;
- `config/std.logging.json` ;
- `.env` ou `.env.example` ;
- les contrats publics ;
- les dépendances externes.
## Version technique
```text
workspace.package.version = 0.1.4
```
## Validation de `rel.001`
Comme `rel.001` modifie la version technique Cargo, exécuter :
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
cd crates/ksp-app-config-desk
npm run check
cd ../..
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
```
Le `tauri dev` de release sert uniquement de smoke test de la version stable et de la baseline `local_dev`/`info` déjà validée fonctionnellement en `pre.019`.
Lorsque tous ces contrôles sont verts, exécuter **en toute dernière opération** :
```bash
cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json
```
Le build doit produire les bundles de version stable `0.1.4`. Aucun contrôle ne doit être lancé après ce build avant décision de validation de la release.
## Commit et tag
Après validation de `rel.001` :
```text
commit : v0.1.4-rel.001
tag : v0.1.4
```
Seul le tag stable `v0.1.4` est attendu. La session suivante s'ouvre avec `0.2.0-pre.001` et `prompts/005-V0_2_0_START_PROMPT.md`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/000-README.md -->
<!-- version: 15 -->
<!-- version: 16 -->
# Documentation KSP
@@ -58,7 +58,7 @@ D'autres sous-répertoires seront ajoutés uniquement lorsque leur rôle aura é
## Documents de planification
Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la release stable `0.1.1` est conservé comme historique clôturé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.2` est conservé comme historique clôturé dans [`plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md`](plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.3 — Configuration foundation` est conservé comme historique clôturé dans [`plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md). La release `0.1.4 — ksp-app-config-desk` est dans sa tranche finale `pre.019`; son plan détaillé est [`plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md`](plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md) et sa matrice de clôture est [`validation/001-V0_1_4_CONFIG_DESKTOP.md`](validation/001-V0_1_4_CONFIG_DESKTOP.md). Son prompt d'ouverture historique reste [`../prompts/004-V0_1_4_START_PROMPT.md`](../prompts/004-V0_1_4_START_PROMPT.md).
Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la release stable `0.1.1` est conservé comme historique clôturé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.2` est conservé comme historique clôturé dans [`plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md`](plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.3 — Configuration foundation` est conservé comme historique clôturé dans [`plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.4 — ksp-app-config-desk` est conservé comme historique clôturé dans [`plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md`](plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md), avec sa matrice finale [`validation/001-V0_1_4_CONFIG_DESKTOP.md`](validation/001-V0_1_4_CONFIG_DESKTOP.md). Son prompt d'ouverture historique reste [`../prompts/004-V0_1_4_START_PROMPT.md`](../prompts/004-V0_1_4_START_PROMPT.md). La prochaine session est `0.2.0-pre.001`, ouverte par [`../prompts/005-V0_2_0_START_PROMPT.md`](../prompts/005-V0_2_0_START_PROMPT.md).
`IDEAS.md` conserve les pistes et questions qui ne sont pas encore des engagements du roadmap ni des décisions architecturales.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
<!-- version: 24 -->
<!-- version: 25 -->
# Séquence des releases fonctionnelles KSP
@@ -36,9 +36,9 @@ Séquence par défaut :
0.1.4 ksp-app-config-desk
```
`0.1.1`, `0.1.2` et `0.1.3` sont désormais des releases stables.
`0.1.1`, `0.1.2`, `0.1.3` et `0.1.4` sont désormais des releases stables.
`0.1.4 — ksp-app-config-desk` a atteint sa tranche finale `pre.019`. Sa publication stable par `rel.001` doit intervenir seulement après la matrice finale ; elle établit le modèle de référence des futures applications Tauri KSP sans déplacer la logique Config dans l'application.
`0.1.4 — ksp-app-config-desk` établit le modèle de référence des futures applications Tauri KSP sans déplacer la logique Config dans l'application. Sa matrice finale a été validée avant `rel.001`, avec le build Tauri exécuté en dernière opération.
## `0.1.1` — Core foundation
@@ -290,6 +290,8 @@ Le shell retenu est une fenêtre principale de management plus splash, avec Vani
La logique Config reste dans `ksp-config-lib` et le subscriber/runtime `tracing` reste dans `ksp-logging-lib`.
`0.1.4-rel.001` publie cette surface sous `0.1.4` stable après validation complète de `pre.019` et de son fix documentaire.
# Règle Git à partir de `0.1.x`
À partir de la première release fonctionnelle, **chaque delta est commité**.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md -->
<!-- version: 24 -->
<!-- version: 25 -->
# Plan `0.1.4` — `ksp-app-config-desk`
@@ -1276,7 +1276,7 @@ pre.018 robustesse/extensibilité/tests desktop [réalisé]
- tests frontend/Tauri/build
- ajout futur file_id/editor sans refonte shell
pre.019 clôture [en cours]
pre.019 clôture [réalisé]
- fmt/check/clippy
- tests ciblés + cargo test --workspace
- cargo tree pertinents
@@ -1295,7 +1295,11 @@ Ce découpage est une **prévision**, pas une obligation de produire exactement
La tranche finale remet la configuration Logging canonique à une baseline de release `info`/`warn`, retire le profil de test de la source de référence, ferme les TODO bloquants `0.1.4`, crée une matrice de validation durable sous `docs/validation/`, et prépare le prompt douverture de `0.2.0-pre.001`, release intermédiaire consacrée à laudit de `khadhroony-bot3` et au découpage du reste de `0.2.x`.
La validation finale suit KSP-APP-034 : tous les contrôles Rust et frontend, puis le parcours `tauri dev`, puis **`cargo tauri build` en toute dernière opération**. `rel.001` ne doit être préparée quaprès succès de cette matrice.
La validation finale a suivi KSP-APP-034 : tous les contrôles Rust et frontend, puis le parcours `tauri dev`, puis **`cargo tauri build` en toute dernière opération**. La matrice est validée et `0.1.4-rel.001` publie désormais la release stable.
### 18.2 Clôture stable `rel.001`
`0.1.4` est clôturée et publiée comme release stable. `ksp-app-config-desk` valide les frontières Config/Logging/Tauri prévues par ce plan, la baseline Logging canonique est revenue à `info`/`warn`, les TODO non bloquants sont reportés explicitement, et le prochain point de reprise est `0.2.0-pre.001` via `prompts/005-V0_2_0_START_PROMPT.md`.
## 19. Dépendances et ordre d'introduction

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/001-V0_1_4_CONFIG_DESKTOP.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Validation finale `0.1.4` — Config Desk
@@ -39,7 +39,7 @@ Cette matrice ferme fonctionnellement `ksp-app-config-desk` avant `0.1.4-rel.001
- [X] README/USAGE/plan/roadmap/prompt suivant synchronisés ;
- [X] aucun `PRESENTATION.md` ajouté.
## Validation technique finale à exécuter sur `pre.019`
## Validation technique finale exécutée sur `pre.019`
Exécuter dans cet ordre :
@@ -74,6 +74,22 @@ cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json
Le build final doit produire les bundles attendus pour la plateforme. Aucun `vite build` standalone nest exécuté avant lui.
### Résultat opérateur — 2026-08-17
- [X] `cargo fmt --all` ;
- [X] `cargo check --workspace` ;
- [X] `cargo clippy --workspace --all-targets` ;
- [X] `cargo test --workspace` ;
- [X] `cargo tree -p ksp-app-config-desk` ;
- [X] `cargo tree -p ksp-config-lib` ;
- [X] `cargo tree -p ksp-logging-lib` ;
- [X] `npm run check` avec `tsc --noEmit` uniquement ;
- [X] `cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json` avec `active_profile=local_dev` et baseline de release `info` ;
- [X] parcours fonctionnel final ;
- [X] `cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json` exécuté en toute dernière opération.
Le build final a produit les trois bundles Linux attendus : `.deb`, `.rpm` et `.AppImage`. Aucun contrôle supplémentaire na été requis après ce build pour valider `pre.019`.
## Passage à `rel.001`
`0.1.4-rel.001` peut être préparée uniquement après succès de cette séquence. La release finale synchronise `workspace.package.version = "0.1.4"`, le changelog stable, le statut roadmap/plan et le tag stable `v0.1.4` après validation du commit de release.
La séquence a réussi. `0.1.4-rel.001` synchronise `workspace.package.version = "0.1.4"`, le changelog stable et les statuts roadmap/plan. Après validation du commit de release, le tag stable attendu est `v0.1.4`.