v0.1.2-rel.001

This commit is contained in:
2026-08-14 20:41:23 +02:00
parent 77f6eaf487
commit 3a7219fa59
7 changed files with 252 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Séquence des releases fonctionnelles KSP
@@ -100,7 +100,26 @@ rel.001 publication stable validée de 0.1.1
## `0.1.2` — Logging foundation
### Dépendances
### Mission
Faire de `ksp-logging-lib` la façade KSP unique de logging/tracing pour les composants runtime.
### Surface stabilisée
`0.1.2` stabilise :
- les macros KSP `error!`, `warn!`, `info!`, `debug!`, `trace!` avec `target:` KSP explicite et callsite consommateur préservé ;
- les spans KSP synchrones et l'instrumentation de futures async sans exposer `tracing` aux consumers ;
- `LoggingSettings`, niveaux, overrides par préfixe de target et lifecycle de spans ;
- `initialize()` unique et `reinitialize()` à chaud avec `LoggingGuard` ;
- le takeover des targets : targets externes silencieux par défaut, targets `ksp-*` gouvernés par la politique KSP ;
- console et fichier non bloquants, rotation, ownership des `WorkerGuard` et compteurs cumulés de lignes abandonnées ;
- stripping ANSI avant persistence fichier ;
- reconfiguration transactionnelle conservant l'ancien runtime en cas d'échec ;
- tests de saturation, concurrence/reload, lifecycle spans et instrumentation Tokio réelle ;
- audit d'ownership empêchant les autres crates workspace de dépendre directement de la stack `tracing*`.
### Dépendances runtime
```text
ksp-logging-lib
@@ -110,26 +129,29 @@ ksp-logging-lib
-> tracing-subscriber
```
### Mission
Tokio est uniquement une dev-dependency de `ksp-logging-lib` pour les tests async réels et n'appartient pas à son graphe normal.
Faire de `ksp-logging-lib` la façade KSP unique de logging/tracing pour les composants runtime.
`ksp-logging-lib` ne dépend pas de `ksp-config-lib`. Config pourra convertir ses documents résolus en `LoggingSettings` puis utiliser le lifecycle public de Logging.
### Périmètre candidat
### Lifecycle de la release
- initialisation ;
- settings runtime propres au logging ;
- `error`, `warn`, `info`, `debug`, `trace` ;
- target/domain/component/champs structurés selon API validée ;
- fonctions, macros ou combinaison permettant de préserver correctement les callsites ;
- console/fichiers ;
- filtering ;
- appender/rotation selon besoin concret ;
- tests ;
- protection contre logging de secrets.
Trajectoire réellement suivie :
`ksp-logging-lib` ne dépend pas de `ksp-config-lib`.
Config pourra plus tard convertir ses documents résolus en settings de Logging.
```text
pre.001 brainstorming + audit + plan détaillé
pre.001-fix.001 corrections de cadrage takeover/reload/spans
pre.002 crate + settings + façade événements/spans
pre.002-fix.001 corrections tests/lints
pre.003 subscriber + takeover + console + reload
pre.003-fix.001 correction du montage reload/filter
pre.004 console/fichier non bloquants + guards + ANSI
pre.004-fix.001..004 corrections lifecycle, ANSI, takeover et Clippy
pre.005 robustesse, concurrence, saturation, audits
pre.005-fix.001 suppression du bruit console du stress test
pre.006 validation finale, Tokio dev-only, docs, prompt 0.1.3
pre.006-fix.001 correction documentaire du prompt Config
rel.001 publication stable validée de 0.1.2
```
## `0.1.3` — Configuration foundation
@@ -154,11 +176,13 @@ Périmètre candidat à revalider dans son `pre.001` :
- résolution ;
- validation ;
- modification/sauvegarde ;
- variables d'environnement `KS_*` / `KB_*` ;
- variables d'environnement `KSP_*` / `KSPB_*` ;
- secret/public/debug exposure policy ;
- `logging.config.json` séparé ;
- schemas sous `config/schemas/` ;
- examples sous `config/`.
- vrais fichiers runtime sous `config/`, schemas sous `config/schemas/` et exemples sous `config/examples/` ;
- documents unitaires spécialisés + fichiers composites par application/exécutable ;
- ownership exclusif de `ksp-config-lib` sur lecture/résolution/validation/mutation des fichiers Config et variables d'environnement ;
- accès explicite aux secrets pour les surfaces de management autorisées.
### Règle de scission