# Delta 0.1.3-pre.001-fix.003 ## Base requise Livraison précédente appliquée et commitée : ```text 0.1.3-pre.001-fix.002 ``` Ce correctif reste documentaire et doit être validé avant toute ouverture de `pre.002`. ## Type de livraison ```text ksp-doc-0.1.3-pre.001-fix.003.zip ``` ## Objectif Corriger le dimensionnement du plan `0.1.3` afin que les prereleases prévues restent compatibles avec la règle KSP de petites tranches d'environ 15–20 minutes de travail effectif, et rendre explicites les prereleases qui modifient `ksp-logging-lib` pour la non-régression multi-sink/routing. Aucune décision fonctionnelle validée dans `pre.001-fix.001/.002` n'est annulée. ## Version Cargo Ce correctif modifie uniquement la documentation de planification. Conformément à `VER-ID-008`, `workspace.package.version` reste : ```text 0.1.3-pre.1 ``` Identifiant de livraison/commit : ```text 0.1.3-pre.001-fix.003 ``` ## Fichiers ajoutés - `deltas/0.1.3/pre.001-fix.003.md` ## Fichiers modifiés - `docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md` — version documentaire 3 -> 4 ; - `docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md` — version documentaire 8 -> 9 ; - `docs/plans/000-README.md` — version documentaire 10 -> 11. ## Correction de `pre.002` `pre.002` n'agrège plus le bootstrap et le registre de fichiers. Elle est limitée à : ```text création ksp-config-lib ConfigBootstrapOptions default cfgpath = config default schemapath = config/schemas --cfgpath --schemapath validation/tests bootstrap ``` Le registre logique est déplacé en `pre.003`. ## Nouvelle `pre.003` — registre `file_id` Cette tranche possède exclusivement : ```text ConfigFileId ConfigFileKind ConfigFileDescriptor ConfigFileRegistry file_id -> filename --filemap== validation des overrides ``` Aucune lecture JSON/schema n'est requise dans cette tranche. ## Tranches `ksp-logging-lib` explicites Les ajouts/modifications Logging nécessaires ne sont plus regroupés dans une seule prerelease vague. ### `pre.004` — contrats/settings multi-output - console configurable ; - plusieurs outputs fichier ; - `output_id` unique ; - level/targets/domains par output ; - format/ANSI/rotation ; - validation publique des settings ; - aucune dépendance Logging -> Config. ### `pre.005` — runtime multi-sink + routing - création réelle de 0..N sinks fichier ; - console indépendante ; - routing/filter par output, level, target, domain ; - non-blocking/guards ; - conservation du subscriber unique, takeover et hot reload transactionnel ; - tests de non-régression. Le schema `std.logging.json` n'est gelé qu'ensuite, en `pre.006`, sur la surface Logging effectivement stabilisée. ## Découpage révisé ```text pre.002 crate Config + bootstrap cfgpath/schemapath pre.003 registre file_id -> filename + --filemap pre.004 Logging : contrats/settings multi-output pre.005 Logging : runtime multi-sink + routing/filter pre.006 JSON/JSON Schema + std.logging.json pre.007 globals + profils + default_profile pre.008 compositions génériques par file_id pre.009 .env + process env + resolver ${...} pre.010 sensibilité + real/safe/provenance pre.011 adapter Config -> Logging pre.012 management + persistence JSON/.env pre.013 ownership audits + robustesse pre.014 clôture ``` Le nombre de prereleases n'est pas une cible à minimiser. Toute tranche qui devient manifestement supérieure au budget d'environ 15–20 minutes doit être scindée explicitement. ## Invariants conservés - `ksp-config-lib` reste l'unique manager KSP des fichiers Config et variables applicatives ; - `cfgpath`/`schemapath` restent bootstrap-only ; - `file_id` reste l'identité logique stable, filename reste remplaçable ; - process env > `.env` > fallback ; - `${KSP_VAR}` / `${KSP_VAR:-fallback}` restent le modèle d'interpolation ; - secrets conservent valeur réelle + représentation sûre/redacted ; - Config construit les contrats Logging sans posséder le routing Logging ; - `ksp-logging-lib` conserve subscriber/layers/writers/lifecycle/guards ; - `LoggingGuard` reste orchestration-owned ; - `0.1.4` reste la release prévue pour `ksp-app-config-desk`. ## Validations exécutées Sur le delta documentaire : - contrôle des headers `file:` / `version:` ; - contrôle que les versions documentaires progressent d'une unité ; - contrôle que `pre.002` ne contient plus le registre `file_id` ; - contrôle que `pre.003` possède le registre et `--filemap` ; - contrôle que `pre.004` et `pre.005` mentionnent explicitement les modifications `ksp-logging-lib` ; - contrôle que `std.logging.json`/son schema arrivent après ces tranches Logging ; - contrôle du nouveau découpage jusqu'à `pre.014` ; - contrôle que `Cargo.toml` n'est pas livré par ce fix. ## Validations non exécutées Aucune commande Cargo n'est déclarée réussie pour ce correctif documentaire. Aucun code Rust, manifest ou fichier runtime n'est modifié. ## Question ouverte avant `pre.002` Aucune question bloquante n'est conservée par défaut. Le plan regranularisé doit être validé par le user avant ouverture de `pre.002`.