From a3f44702a20a64c389a0d6e0f10bbcee0d118949 Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Mon, 17 Aug 2026 09:24:35 +0200 Subject: [PATCH] v0.1.4-rel.001 --- CHANGELOG.md | 6 +- Cargo.toml | 4 +- ROADMAP.md | 6 +- deltas/0.1.4/rel.001.md | 81 +++++++++++++++++++ docs/000-README.md | 4 +- docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md | 8 +- docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md | 10 ++- docs/validation/001-V0_1_4_CONFIG_DESKTOP.md | 22 ++++- 8 files changed, 124 insertions(+), 17 deletions(-) create mode 100644 deltas/0.1.4/rel.001.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 169ac46..0107cf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,14 @@ - + # 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 d’audit 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. diff --git a/Cargo.toml b/Cargo.toml index 441d7db..f923e75 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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" diff --git a/ROADMAP.md b/ROADMAP.md index edc6d1c..a713647 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,5 +1,5 @@ - + # 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 d’audit 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. diff --git a/deltas/0.1.4/rel.001.md b/deltas/0.1.4/rel.001.md new file mode 100644 index 0000000..b0463e2 --- /dev/null +++ b/deltas/0.1.4/rel.001.md @@ -0,0 +1,81 @@ + + + +# 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`. diff --git a/docs/000-README.md b/docs/000-README.md index 09bac21..5f8f35f 100644 --- a/docs/000-README.md +++ b/docs/000-README.md @@ -1,5 +1,5 @@ - + # 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. diff --git a/docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md b/docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md index 8cb7b4e..5a9e68d 100644 --- a/docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md +++ b/docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md @@ -1,5 +1,5 @@ - + # 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é**. diff --git a/docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md b/docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md index d206269..4c4b5e3 100644 --- a/docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md +++ b/docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md @@ -1,5 +1,5 @@ - + # 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 d’ouverture de `0.2.0-pre.001`, release intermédiaire consacrée à l’audit 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 qu’aprè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 diff --git a/docs/validation/001-V0_1_4_CONFIG_DESKTOP.md b/docs/validation/001-V0_1_4_CONFIG_DESKTOP.md index ede2717..5f49804 100644 --- a/docs/validation/001-V0_1_4_CONFIG_DESKTOP.md +++ b/docs/validation/001-V0_1_4_CONFIG_DESKTOP.md @@ -1,5 +1,5 @@ - + # 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 n’est 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 n’a é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`.