72 lines
2.5 KiB
Markdown
72 lines
2.5 KiB
Markdown
<!-- file: deltas/0.1.4/pre.016-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.1.4-pre.016-fix.001` — Chrono et nettoyage du runtime Logging
|
|
|
|
## Base
|
|
|
|
`0.1.4-pre.016` a été appliquée puis contrôlée localement. `cargo check --workspace` et `cargo clippy --workspace --all-targets` ont signalé un warning `dead_code` sur `prepare_runtime()` dans `ksp-logging-lib`.
|
|
|
|
Avant validation fonctionnelle complète de la tranche, la dépendance temporelle directe choisie pour construire l'identité de lancement est également remplacée à la demande : KSP utilise `chrono` plutôt que `time` pour ce besoin calendaire UTC.
|
|
|
|
## Correctifs
|
|
|
|
### Dépendance temporelle
|
|
|
|
La dépendance workspace directe :
|
|
|
|
```toml
|
|
time = { version = "^0.3", default-features = false, features = ["std"] }
|
|
```
|
|
|
|
est remplacée par :
|
|
|
|
```toml
|
|
chrono = { version = "^0.4", default-features = false, features = ["std", "now"] }
|
|
```
|
|
|
|
`ksp-app-config-desk` consomme désormais `chrono.workspace = true`.
|
|
|
|
Cette modification ne cherche pas à imposer Chrono pour les mesures monotoniques : les durées/lifecycles continuent d'utiliser `std::time::Instant` et `std::time::Duration`. Chrono est utilisé uniquement pour construire le timestamp UTC calendaire de l'identité de lancement.
|
|
|
|
Le token conserve le contrat fonctionnel de `pre.016` :
|
|
|
|
```text
|
|
YYYYMMDD-HHMMSS.mmmZ-p<PID>
|
|
```
|
|
|
|
et reste construit une seule fois par lancement puis réutilisé lors des hot reloads.
|
|
|
|
### Warning `dead_code`
|
|
|
|
Le wrapper privé `prepare_runtime()` n'était plus utilisé par le code de production depuis l'introduction de l'identité runtime. Il est supprimé plutôt que masqué avec une annotation.
|
|
|
|
Les tests unitaires appellent directement `prepare_runtime_with_identity(..., None)`, ce qui conserve exactement la couverture du chemin sans identité tout en évitant un helper mort dans la bibliothèque normale.
|
|
|
|
## Hors périmètre
|
|
|
|
Aucun comportement de hot reload, sélection de profil, rollback, génération runtime ou naming de sink n'est modifié.
|
|
|
|
`config/std.logging.json` n'est pas modifié.
|
|
|
|
## Version technique
|
|
|
|
```text
|
|
workspace.package.version = 0.1.4-pre.16.fix.1
|
|
```
|
|
|
|
## Validation attendue
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-app-config-desk
|
|
cargo test -p ksp-config-lib
|
|
cargo test -p ksp-logging-lib
|
|
cargo tree -p ksp-app-config-desk
|
|
cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json
|
|
```
|
|
|
|
Attendu en particulier : aucun warning `dead_code` sur `prepare_runtime` et `chrono` comme dépendance directe de Config Desk à la place de `time`.
|