v0.3.9-pre.002-fix.002

This commit is contained in:
2026-09-04 14:29:24 +02:00
parent 156d237460
commit 84647c12ea
6 changed files with 141 additions and 19 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Plan v0.3.9 — Worker API générique + audit RAW Transaction
@@ -563,9 +563,15 @@ La crate dépend uniquement de `ksp-core-lib`, ne possède aucune feature/dev/bu
#### `pre.002-fix.001` — chemins crate-root dans les modules propriétaires
**Statut : réalisé ; correctif de conformité Rust.**
**Statut : réalisé ; gate opérateur en échec de compilation test.**
Correction de la nouvelle crate Worker selon `RUST-IMPORT-009` : tout `impl` d'un type partagé/exporté cible désormais explicitement `crate::Type`, y compris les implémentations de traits `Debug`/`Default`. Le helper de test de séquence emploie également `crate::WorkerSnapshotSequence`. Une canarie dependency-boundary dédiée verrouille ces références sans élargir la surface fonctionnelle de `pre.002`. `workspace.package.version` devient `0.3.9-pre.2.fix.1`.
Correction de la nouvelle crate Worker selon `RUST-IMPORT-009` : tout `impl` d'un type partagé/exporté cible désormais explicitement `crate::Type`, y compris les implémentations de traits `Debug`/`Default`. Le gate opérateur confirme les audits et `cargo check --workspace`, puis Clippy `--all-targets` et `cargo test -p ksp-worker-api` révèlent `E0423` sur le helper de séquence : le re-export `crate::WorkerSnapshotSequence` expose le type mais pas son constructeur tuple à champ privé. `workspace.package.version` reste historiquement `0.3.9-pre.2.fix.1` pour cette livraison.
#### `pre.002-fix.002` — constructeur tuple privé de séquence
**Statut : réalisé ; correctif de compilation test.**
Le champ tuple de `WorkerSnapshotSequence` reste privé. L'`impl crate::WorkerSnapshotSequence` reçoit un constructeur associé strictement privé et `#[cfg(test)]`, `exhausted_for_test()`, qui effectue localement `Self(u64::MAX)`. Le helper privé appelle ensuite `crate::WorkerSnapshotSequence::exhausted_for_test()`. Cette forme maintient simultanément `RUST-IMPORT-009`, l'opacité publique de la séquence et la visibilité Rust correcte du constructeur. La canarie dependency-boundary distingue désormais explicitement target d'`impl` crate-root et construction privée confinée. `workspace.package.version` devient `0.3.9-pre.2.fix.2`.
### `pre.003` — hardening, races, object-safety, impl externe et freeze