89 lines
2.6 KiB
Markdown
89 lines
2.6 KiB
Markdown
<!-- file: deltas/0.1.2/pre.005-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.1.2-pre.005-fix.001
|
|
|
|
## Base requise
|
|
|
|
Livraison précédente :
|
|
|
|
```text
|
|
0.1.2-pre.005
|
|
```
|
|
|
|
La base porte :
|
|
|
|
```text
|
|
workspace.package.version = "0.1.2-pre.5"
|
|
Cargo.toml header version = 36
|
|
```
|
|
|
|
## Validation remontée
|
|
|
|
La validation utilisateur de `pre.005` est fonctionnellement propre :
|
|
|
|
```text
|
|
cargo fmt --all OK
|
|
cargo check --workspace OK
|
|
cargo clippy --workspace --all-targets OK
|
|
cargo test --workspace OK
|
|
cargo test -p ksp-logging-lib --test overhead -- --ignored --nocapture OK
|
|
```
|
|
|
|
Le probe d'overhead a également passé son garde-fou grossier sur 200000 itérations.
|
|
|
|
Le test runtime concurrent produit toutefois un grand volume de lignes `TRACE` sur stderr au démarrage du stress test. Le runtime est encore sur la configuration précédente `console_enabled` avec un override `Trace` lorsque les producteurs sont libérés ; ils peuvent donc émettre avant le premier reload vers la configuration silencieuse.
|
|
|
|
## Correction
|
|
|
|
`exercise_concurrent_reload` effectue maintenant un `reinitialize` vers `quiet_console` **avant** de créer/libérer les producteurs concurrents.
|
|
|
|
Le stress test conserve ensuite exactement :
|
|
|
|
- 4 producteurs ;
|
|
- les appels continus à `ksp_logging_lib::trace!` ;
|
|
- 32 hot reloads ;
|
|
- l'alternance entre console non bloquante présente avec filtre KSP `Off` et runtime sans sink ;
|
|
- les assertions de succès des reloads et des joins.
|
|
|
|
La correction supprime uniquement la fenêtre de course initiale qui laissait la configuration `Trace` précédente produire des lignes. Elle ne modifie aucun comportement de production, aucune API publique et aucune dépendance.
|
|
|
|
## Version technique
|
|
|
|
Ce correctif modifie un fichier Rust de test. La version workspace devient :
|
|
|
|
```text
|
|
workspace.package.version = "0.1.2-pre.5.fix.1"
|
|
```
|
|
|
|
et l'en-tête du `Cargo.toml` racine devient :
|
|
|
|
```text
|
|
# version: 37
|
|
```
|
|
|
|
## Fichiers du delta
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-logging-lib/tests/runtime.rs
|
|
docs/plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md
|
|
deltas/0.1.2/pre.005-fix.001.md
|
|
```
|
|
|
|
## Validations à exécuter
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test --workspace
|
|
cargo test -p ksp-logging-lib --test overhead -- --ignored --nocapture
|
|
```
|
|
|
|
Si ces validations sont propres et que le test runtime ne pollue plus la console, `pre.005` est clôturée et la tranche suivante reste :
|
|
|
|
```text
|
|
0.1.2-pre.006 — validation finale, documentation, cleanup et prompt 0.1.3
|
|
```
|