v0.1.3-pre.014
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
<!-- file: docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 16 -->
|
||||
<!-- version: 17 -->
|
||||
|
||||
# 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` livre maintenant management + persistence JSON/.env. La prochaine tranche est `pre.014` pour les ownership audits et la robustesse.
|
||||
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.
|
||||
|
||||
La base auditée reste la release stable `v0.1.2`.
|
||||
|
||||
@@ -1864,12 +1864,19 @@ La validation utilisateur de `pre.012` est acquise le 2026-08-16 : `fmt/check/cl
|
||||
|
||||
### `0.1.3-pre.014` — ownership audits + robustesse
|
||||
|
||||
- audits interdisant les accès Config/env directs ailleurs ;
|
||||
- invalid documents/env/placeholders/file mappings ;
|
||||
- graphe dépendances/features ;
|
||||
- corrections de surface publique ;
|
||||
- robustesse des diagnostics sans fuite ;
|
||||
- vérification de la granularité réelle des responsabilités publiques.
|
||||
Livré :
|
||||
|
||||
- nouveau test d'intégration `tests/ownership.rs` exécuté par `cargo test --workspace` ;
|
||||
- audit de direction garantissant que `ksp-core-lib` et `ksp-logging-lib` ne dépendent pas de `ksp-config-lib` ;
|
||||
- audit des crates hors Config interdisant les lectures directes littérales `KSP_*`/`KSPB_*` via `std::env::var`/`var_os` ainsi que l'énumération directe `vars`/`vars_os` ;
|
||||
- audit interdisant hors Config les noms physiques gérés `.env`, `std.logging.json`, `std.logging.schema.json` et `composite.schema.json`, afin que les consumers utilisent les contrats/constantes/file_id Config ;
|
||||
- audit automatique de toutes les variables KSP/KSPB concrètes présentes dans les JSON de `config/` et le code Rust production ;
|
||||
- comparaison de cet inventaire avec `.env.example`, en exigeant une assignment versionnée (active ou commentée) et un commentaire explicatif précédent ;
|
||||
- réaudit manuel de la matrice existante : documents/schema invalides, `.env` invalide/dupliqué, placeholders invalides/manquants, file mappings invalides, profils/composites invalides, chemins Logging effectifs, secrets/redaction et persistence atomique sont déjà couverts par les 80 tests unitaires acquis en `pre.013-fix.001` ;
|
||||
- aucune correction supplémentaire de surface publique n'est nécessaire dans cette tranche ; la granularité `ConfigEnvironment` / `ConfigDocumentEngine` / `ConfigManagement` / adapter Logging reste cohérente ;
|
||||
- aucune nouvelle dépendance ni variable d'environnement.
|
||||
|
||||
La validation utilisateur de `pre.013-fix.001` est acquise le 2026-08-16 : `fmt/check/clippy/test` passent, `ksp-config-lib` compte 80 tests unitaires + 11 tests publics, `ksp-logging-lib` 34 tests unitaires + toutes ses intégrations, `ksp-logging-lib -d` est vide et le seul doublon Config reste `syn 2`/`syn 3` transitif via `jsonschema`.
|
||||
|
||||
### `0.1.3-pre.015` — clôture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user