v0.3.9-pre.002-fix.001
This commit is contained in:
114
deltas/0.3.9/pre.002-fix.001.md
Normal file
114
deltas/0.3.9/pre.002-fix.001.md
Normal file
@@ -0,0 +1,114 @@
|
||||
<!-- file: deltas/0.3.9/pre.002-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.9-pre.002-fix.001` — conformité crate-root de `ksp-worker-api`
|
||||
|
||||
## Base requise
|
||||
|
||||
```text
|
||||
0.3.9-pre.002
|
||||
workspace.package.version = 0.3.9-pre.2
|
||||
```
|
||||
|
||||
Le gate opérateur de `pre.002` est vert : format et audits propres, `cargo check --workspace` PASS, Clippy workspace `--all-targets --all-features -- -D warnings` PASS, `cargo test -p ksp-worker-api` PASS avec 17 tests, et les deux `cargo tree` ciblés confirment la frontière Core-only.
|
||||
|
||||
## Défaut corrigé
|
||||
|
||||
La nouvelle crate respectait les réexports crate-root dans ses signatures inter-types, mais les modules propriétaires implémentaient encore les types partagés par nom local nu, par exemple :
|
||||
|
||||
```rust
|
||||
impl WorkerId {
|
||||
```
|
||||
|
||||
`RUST-IMPORT-009` impose qu'un élément `pub` ou `pub(crate)` partagé soit appelé via `crate::Item`, y compris depuis son module de déclaration lorsque le contrat est crate-wide. La forme canonique est donc :
|
||||
|
||||
```rust
|
||||
impl crate::WorkerId {
|
||||
```
|
||||
|
||||
Le même défaut existait pour les autres targets d'`impl` de `identity.rs`, `lifecycle.rs`, `snapshot.rs` et `stop.rs`.
|
||||
|
||||
## Corrections Rust
|
||||
|
||||
Les targets sont normalisées sans modifier la surface ni le comportement :
|
||||
|
||||
```text
|
||||
identity.rs
|
||||
WorkerId
|
||||
Debug for WorkerId
|
||||
WorkerKindCode
|
||||
Debug for WorkerKindCode
|
||||
|
||||
lifecycle.rs
|
||||
WorkerState
|
||||
WorkerHealth
|
||||
WorkerActivity
|
||||
WorkerLifecycle
|
||||
Debug for WorkerLifecycle
|
||||
|
||||
snapshot.rs
|
||||
WorkerSnapshotSequence
|
||||
WorkerSnapshot
|
||||
Debug for WorkerSnapshot
|
||||
|
||||
stop.rs
|
||||
WorkerStopToken
|
||||
Default for WorkerStopToken
|
||||
Debug for WorkerStopToken
|
||||
```
|
||||
|
||||
Le helper `exhausted_snapshot_sequence()` construit aussi explicitement `crate::WorkerSnapshotSequence(u64::MAX)`.
|
||||
|
||||
Une troisième canarie `dependency_boundary` vérifie les références crate-root attendues dans les quatre modules propriétaires afin d'éviter une régression locale lors de `pre.003`.
|
||||
|
||||
## Version
|
||||
|
||||
Ce correctif modifie du code Rust :
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.3.9-pre.2.fix.1
|
||||
```
|
||||
|
||||
Le header du `Cargo.toml` racine passe de `477` à `478`.
|
||||
|
||||
## Hors scope
|
||||
|
||||
Aucun changement de lifecycle, identity bounds, snapshot shape, stop semantics, ErrorCode, dépendance, feature ou API publique. Aucun travail `pre.003` n'est anticipé.
|
||||
|
||||
L'auditeur Python global n'est pas étendu dans ce fix : une généralisation immédiate ferait remonter la dette historique de crates antérieures et élargirait artificiellement cette correction locale. La canarie Worker ferme le défaut nouveau sans masquer cette distinction.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
crates/ksp-worker-api/src/identity.rs
|
||||
crates/ksp-worker-api/src/lifecycle.rs
|
||||
crates/ksp-worker-api/src/snapshot.rs
|
||||
crates/ksp-worker-api/src/stop.rs
|
||||
crates/ksp-worker-api/tests/dependency_boundary.rs
|
||||
docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md
|
||||
docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.3.9/pre.002-fix.001.md
|
||||
```
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
Aucun.
|
||||
|
||||
## Gate opérateur demandé
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
cargo test -p ksp-worker-api
|
||||
cargo tree -p ksp-worker-api --edges normal
|
||||
cargo tree -p ksp-worker-api -e features
|
||||
```
|
||||
Reference in New Issue
Block a user