v0.1.3-pre.015

This commit is contained in:
2026-08-16 07:52:59 +02:00
parent 92982667ac
commit 64136c99ad
14 changed files with 876 additions and 25 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# 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` livre maintenant les ownership audits exécutables et la robustesse de frontière. La prochaine tranche est `pre.015` pour la clôture.
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`.
La base auditée reste la release stable `v0.1.2`.
@@ -1880,12 +1880,20 @@ La validation utilisateur de `pre.013-fix.001` est acquise le 2026-08-16 : `fmt/
### `0.1.3-pre.015` — clôture
- validations finales ;
- documentation durable ;
- cleanup/archivage requis ;
- TODO fermés ou reportés ;
- prompt `0.1.4 — ksp-app-config-desk` ;
- préparation `rel.001` puis tag stable après validation utilisateur.
Tranche livrée :
- validation utilisateur de `pre.014` enregistrée : `fmt/check/clippy/test` propres, 80 tests unitaires Config, 4 audits ownership, 11 tests publics et aucun doublon dans le graphe Logging ;
- `workspace.package.version = "0.1.3-pre.15"` comme signal technique de la prerelease finale ;
- documentation durable `ksp-config-lib/README.md`, `USAGE.md` et `TODO.md` ;
- `CHANGELOG.md` général introduit selon les règles existantes avec uniquement les releases déjà stables `0.1.2`, `0.1.1` et `0.0.3`; `0.1.3` n'y sera ajouté qu'au `rel.001` ;
- index README/docs/plans/prompts réalignés ;
- prompt final `prompts/004-V0_1_4_START_PROMPT.md` préparé pour ouvrir `ksp-app-config-desk` uniquement après publication stable `v0.1.3` ;
- aucun TODO fonctionnel bloquant `0.1.3` trouvé dans la crate ; les validations Tauri/desktop sont reportées explicitement à `0.1.4`, les futurs documents/composites/watchers restant conditionnés à un besoin concret ;
- aucun cleanup ou archivage destructif nécessaire : les deltas historiques, schemas, exemples et prompts historiques restent intentionnellement conservés ;
- 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é.
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.
@@ -1915,11 +1923,15 @@ Au minimum :
```bash
cargo fmt --all
cargo check --workspace
cargo build -p ksp-config-lib
cargo clippy --workspace --all-targets
cargo test --workspace
cargo test -p ksp-config-lib --test ownership
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
```
Exécuter aussi tout script d'audit réellement présent au moment de la clôture.