v0.1.3-rel.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 12 -->
|
||||
<!-- version: 13 -->
|
||||
|
||||
# Documentation KSP
|
||||
|
||||
@@ -54,7 +54,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 `0.1.3 — Configuration foundation` est conservé dans [`plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md) et entre en clôture avec `pre.015`, avant publication stable `rel.001`.
|
||||
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 prochaine release active est `0.1.4 — ksp-app-config-desk`, ouverte à partir du prompt [`../prompts/004-V0_1_4_START_PROMPT.md`](../prompts/004-V0_1_4_START_PROMPT.md).
|
||||
|
||||
`IDEAS.md` conserve les pistes et questions qui ne sont pas encore des engagements du roadmap ni des décisions architecturales.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/000-README.md -->
|
||||
<!-- version: 22 -->
|
||||
<!-- version: 23 -->
|
||||
|
||||
# Plans KSP
|
||||
|
||||
@@ -13,7 +13,7 @@ Un plan décrit le périmètre, les décisions déjà acquises, les questions ou
|
||||
- [`002-FUNCTIONAL_RELEASE_SEQUENCE.md`](002-FUNCTIONAL_RELEASE_SEQUENCE.md) — séquence active de référence des premières releases fonctionnelles ;
|
||||
- [`003-V0_1_1_CORE_FOUNDATION_PLAN.md`](003-V0_1_1_CORE_FOUNDATION_PLAN.md) — plan historique clôturé de la release stable `0.1.1`, établi par `0.1.1-pre.001` puis consolidé jusqu'à `0.1.1-rel.001`.
|
||||
- [`004-V0_1_2_LOGGING_FOUNDATION_PLAN.md`](004-V0_1_2_LOGGING_FOUNDATION_PLAN.md) — plan historique clôturé de la release stable `0.1.2`, établi par `0.1.2-pre.001` puis consolidé jusqu'à `0.1.2-rel.001`.
|
||||
- [`005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](005-V0_1_3_CONFIG_FOUNDATION_PLAN.md) — plan de `0.1.3 — Configuration foundation`, établi par `0.1.3-pre.001` puis exécuté jusqu'à `pre.014`; `pre.015` consolide la documentation, ferme les TODO de release, prépare le prompt `0.1.4` et place la version en attente de validation finale avant `rel.001`.
|
||||
- [`005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](005-V0_1_3_CONFIG_FOUNDATION_PLAN.md) — plan historique clôturé de la release stable `0.1.3 — Configuration foundation`, établi par `0.1.3-pre.001`, exécuté jusqu'à `pre.015` puis publié par `0.1.3-rel.001`.
|
||||
|
||||
Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
||||
<!-- version: 20 -->
|
||||
<!-- version: 21 -->
|
||||
|
||||
# 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` et `0.1.2` sont fixées.
|
||||
`0.1.1`, `0.1.2` et `0.1.3` sont désormais des releases stables.
|
||||
|
||||
`0.1.3` et `0.1.4` sont la séquence par défaut. Si le `pre.001` de Config démontre qu'une seule release ne permet pas un développement propre, Config est scindé et les numéros suivants sont décalés.
|
||||
`0.1.4 — ksp-app-config-desk` est l'étape active suivante. Elle doit valider réellement la fondation Config et établir le modèle de référence des futures applications Tauri KSP sans déplacer la logique Config dans l'application.
|
||||
|
||||
## `0.1.1` — Core foundation
|
||||
|
||||
@@ -155,7 +155,7 @@ rel.001 publication stable validée de 0.1.2
|
||||
|
||||
## `0.1.3` — Configuration foundation
|
||||
|
||||
### Dépendances candidates
|
||||
### Dépendances stabilisées
|
||||
|
||||
```text
|
||||
ksp-config-lib
|
||||
@@ -219,7 +219,7 @@ pre.015 clôture
|
||||
|
||||
Cette prévision n'est pas un plafond : chaque prerelease doit rester une petite tranche, avec scission explicite si l'objectif dépasse environ 15–20 minutes de travail effectif.
|
||||
|
||||
`pre.006` a fermé le routing Logging structuré `domain`; `pre.007` a livré le moteur JSON/JSON Schema et `std.logging.json`; `pre.008` a ajouté la résolution générique globals/profils/`default_profile`; `pre.009` les compositions génériques par `file_id`; `pre.010` le snapshot process + `.env`, `.env.example` et le resolver `${...}`; `pre.011` la sensibilité, les valeurs réelle/sûre, la redaction et la provenance enrichie; `pre.012` l'adapter Config -> Logging et la validation effective des chemins; `pre.013` management + persistence JSON/.env; `pre.014` les audits exécutables d'ownership et la couverture automatique de `.env.example`. `pre.015` constitue la prerelease finale : documentation durable de la crate, synthèse changelog, prompt `0.1.4`, clôture des TODO et préparation de `rel.001`.
|
||||
`pre.006` a fermé le routing Logging structuré `domain`; `pre.007` a livré le moteur JSON/JSON Schema et `std.logging.json`; `pre.008` a ajouté la résolution générique globals/profils/`default_profile`; `pre.009` les compositions génériques par `file_id`; `pre.010` le snapshot process + `.env`, `.env.example` et le resolver `${...}`; `pre.011` la sensibilité, les valeurs réelle/sûre, la redaction et la provenance enrichie; `pre.012` l'adapter Config -> Logging et la validation effective des chemins; `pre.013` management + persistence JSON/.env; `pre.014` les audits exécutables d'ownership et la couverture automatique de `.env.example`; `pre.015` la documentation durable et le prompt `0.1.4`, complétés par deux fixes documentaires sur les validations et le modèle Tauri. `rel.001` publie cette surface sous `0.1.3` stable.
|
||||
|
||||
Trajectoire réellement suivie :
|
||||
|
||||
@@ -246,7 +246,9 @@ pre.013 management + persistence JSON/.env
|
||||
pre.013-fix.001 correction de syntaxe du warning persistence
|
||||
pre.014 ownership audits + robustesse
|
||||
pre.015 clôture/docs/prompt 0.1.4
|
||||
rel.001 publication stable après validation
|
||||
pre.015-fix.001 règles validation/docs + modèle Tauri/PRESENTATION
|
||||
pre.015-fix.002 tracing Tauri + critères fonctionnels de clôture 0.1.4
|
||||
rel.001 publication stable validée de 0.1.3
|
||||
```
|
||||
|
||||
## `0.1.4` — Config desktop par défaut
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<!-- file: docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 18 -->
|
||||
<!-- version: 19 -->
|
||||
|
||||
# Plan `0.1.3` — Configuration foundation
|
||||
|
||||
## 1. Statut et objectif
|
||||
|
||||
Ce plan a été établi par `0.1.3-pre.001`, corrigé par `0.1.3-pre.001-fix.001/.002/.003`, puis exécuté par petites tranches. `pre.002` a livré le bootstrap Config, `pre.003` le registre `file_id`, `pre.004` les contrats publics multi-output de Logging, `pre.005` le runtime multi-sink sur niveau/target/formats, `pre.006` le routing structuré `domain`, `pre.007` le moteur JSON/JSON Schema, `pre.008` la résolution des globals/profils/`default_profile`, `pre.009` les compositions génériques par `file_id`, `pre.010` le snapshot process + `.env` et le resolver `${...}`, `pre.011` la sensibilité et les représentations real/safe/provenance, puis `pre.012` l'adapter Config -> Logging. `pre.013` a livré management + persistence JSON/.env et son `fix.001` a corrigé la syntaxe du warning de cleanup. `pre.014` a livré les ownership audits exécutables et la robustesse de frontière puis a été validée intégralement par l'utilisateur. `pre.015` est la prerelease finale : elle consolide la documentation durable, ferme/reporte explicitement les TODO, introduit le changelog général stable, prépare le prompt `0.1.4` et place `0.1.3` en attente de `rel.001`.
|
||||
Ce plan a été établi par `0.1.3-pre.001`, corrigé par `0.1.3-pre.001-fix.001/.002/.003`, puis exécuté par petites tranches jusqu'à `pre.015` et ses fixes documentaires. La validation finale de `pre.015-fix.002` a été communiquée le 2026-08-16 avec `cargo check --workspace`, `cargo clippy --workspace --all-targets`, `cargo test --workspace` et les audits `cargo tree` Config/Logging attendus. `0.1.3-rel.001` publie désormais cette fondation sous la version stable `0.1.3`; le présent document devient un plan historique clôturé.
|
||||
|
||||
La base auditée reste la release stable `v0.1.2`.
|
||||
|
||||
La release `0.1.3` introduira `ksp-config-lib` comme **propriétaire unique KSP de la configuration applicative**. À terme, les autres crates et applications KSP ne doivent pas :
|
||||
La release stable `0.1.3` introduit `ksp-config-lib` comme **propriétaire unique KSP de la configuration applicative**. À terme, les autres crates et applications KSP ne doivent pas :
|
||||
|
||||
- lire directement les documents JSON de configuration ;
|
||||
- valider elles-mêmes ces documents contre leurs schémas ;
|
||||
@@ -1893,7 +1893,11 @@ Tranche livrée :
|
||||
- aucune nouvelle API, dépendance, variable runtime ou ressource Config exécutable ;
|
||||
- `ROADMAP.md` reste en `[/]` pour `0.1.3` jusqu'à validation de cette prerelease et publication `rel.001`.
|
||||
|
||||
Après validation de `pre.015`, la seule étape de `0.1.3` est la livraison `rel.001` : passage Cargo à `0.1.3`, synchronisation du changelog/roadmap/plans, puis tag `v0.1.3` sur le commit stable validé.
|
||||
`pre.015-fix.001` a ensuite figé les règles de validation courante/ciblée, les README/USAGE de clôture et le modèle documentaire Tauri (`PRESENTATION.md` uniquement lorsqu'une présentation UI existe). `pre.015-fix.002` a figé l'usage de la stack Tauri tracing — et non `tauri-plugin-log` — ainsi que les critères fonctionnels minimaux de `0.1.4` pour la gestion multi-profils Logging et le hot reload observable.
|
||||
|
||||
La validation finale de `pre.015-fix.002` est acquise le 2026-08-16 : `cargo check --workspace`, `cargo clippy --workspace --all-targets`, `cargo test --workspace`, `cargo tree -p ksp-config-lib`, `-d`, `-e features`, `-e normal` et `cargo tree -p ksp-logging-lib -d` passent. Les tests rapportés comprennent 80 tests unitaires Config, 4 audits ownership, 11 tests publics Config, 14 tests unitaires Core + 3 publics, 34 tests unitaires Logging et toutes ses intégrations exécutées; le probe d'overhead reste volontairement ignoré par défaut. Le seul doublon Config observé reste `syn 2`/`syn 3` transitif via `jsonschema`; Logging n'a aucun doublon signalé.
|
||||
|
||||
`0.1.3-rel.001` clôt la release : `workspace.package.version = "0.1.3"`, changelog/roadmap/index synchronisés, puis tag `v0.1.3` après validation du commit stable.
|
||||
|
||||
Le découpage reste souple. Tout dépassement du budget de tranche est corrigé par une nouvelle scission explicite ; le nombre de prereleases n'est pas une cible à minimiser.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user