v0.3.7-pre.009-fix.002

This commit is contained in:
2026-09-02 18:24:44 +02:00
parent db78fea161
commit 97f84e5c58
4 changed files with 111 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/024-V0_3_7_BACKFILL_DESK.md -->
<!-- version: 16 -->
<!-- version: 17 -->
# Validation v0.3.7 — Backfill Desk
@@ -463,3 +463,20 @@ Le correctif réutilise uniquement les helpers déjà possédés par chaque fich
- [X] audits statiques Rust/Markdown rejoués dans l'environnement d'assemblage ;
- [ ] replay opérateur `cargo fmt/check/clippy/test` du fix à exécuter ; aucun `cargo tree` requis car dépendances/features inchangées.
## 23. Correctif `pre.009-fix.002` — canari monitoring borné aux champs sérialisés
Le replay opérateur de `pre.009-fix.001` confirme que les audits Rust/Markdown, `cargo check --workspace`, Clippy, `ksp-job-backfill-lib` et les suites `desktop_contract` sont propres. Le seul échec restant est le canari `pre_009_monitoring_projection_exposes_counters_and_codes_without_checkpoint_or_business_payloads`.
Le DTO de production est conforme : il n'expose aucun champ adresse/signature. Le faux positif vient du canari, qui cherche les mots nus `address` et `signature` dans toute la source de `BackfillRunStatusDto`, y compris les commentaires de documentation. Or la documentation de `scope_kind` précise explicitement que ce champ est exposé « without address/signature payloads ».
Le correctif conserve le même niveau de sécurité mais cible désormais les déclarations de champs réellement sérialisés : `pub(crate) address:`, `pub(crate) signature:`, `pub(crate) endpoint:`, `pub(crate) provider:`, `pub(crate) credential:`, `pub(crate) token:`, `pub(crate) checkpoint:`, `pub(crate) payload:` et `pub(crate) raw_transaction:`. `checkpoint_present` reste explicitement autorisé.
### Gate du fix
- [X] aucun fichier de production, DTO, monitoring, frontend, Store, Transport ou Job n'est modifié ;
- [X] le canari n'interprète plus les doc-comments comme des champs IPC ;
- [X] les champs métier/sensibles restent interdits par leur déclaration exacte ;
- [X] `checkpoint_present` reste autorisé tandis que `pub(crate) checkpoint:` reste interdit ;
- [X] version Cargo synchronisée en `0.3.7-pre.9.fix.2` ;
- [X] audits statiques Rust/Markdown rejoués dans l'environnement d'assemblage ;
- [ ] replay opérateur `cargo fmt/check/clippy/test` du fix à exécuter ; aucun `cargo tree` requis car dépendances/features inchangées.