v0.3.9-pre.002

This commit is contained in:
2026-09-04 14:21:05 +02:00
parent 5c797827f7
commit 7d0710a1e6
17 changed files with 1235 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Validation v0.3.9 — Worker API + audit RAW Transaction
@@ -38,6 +38,20 @@ Cette matrice suit les preuves de `0.3.9` sans remplacer les deltas. `pre.001` f
Le ZIP ne contient pas `.git`; lexistence du tag nest pas inspectée directement. Le `rel.001` stable décrit lopération `tag v0.3.8` et le prompt autorise larchive stable explicitement fournie comme base.
### Gate opérateur avant `pre.002`
Létat `0.3.9-pre.1.fix.2` a ensuite été validé par lopérateur avant ouverture de `pre.002` :
- [X] `cargo clean` exécuté.
- [X] `cargo fmt --all` exécuté.
- [X] audits Rust complets propres.
- [X] audit Markdown propre : 320 tables / 730 fichiers.
- [X] `cargo check --workspace` PASS.
- [X] `cargo clippy --workspace --all-targets --all-features -- -D warnings` PASS.
- [X] `cargo test --workspace --all-targets --all-features` PASS ; seuls les smokes opt-in explicitement `ignored` restent non exécutés.
- [X] les cinq Desks produisent chacun leurs bundles `deb` et `rpm` avec la version `0.3.9-pre.1.fix.2`.
- [X] `cargo tree --duplicates` exécuté jusqu'au retour shell, sans échec de commande signalé.
## 3. Architecture Worker API décidée en `pre.001`
- [X] Job et Worker restent deux lifecycle APIs sémantiquement distinctes.
@@ -66,18 +80,20 @@ Le ZIP ne contient pas `.git`; lexistence du tag nest pas inspectée direc
### `pre.002`
- [ ] `crates/ksp-worker-api` créée dans le workspace.
- [ ] Manifest sans feature/dev/build dependency et avec Core uniquement.
- [ ] `identity.rs`, `error.rs`, `lifecycle.rs`, `snapshot.rs`, `stop.rs`, `lib.rs` matérialisés.
- [ ] Façade crate-root uniquement, aucun `pub mod`.
- [ ] Quatre error codes stables `worker_api` matérialisés.
- [ ] Bounds exacts identity testés.
- [ ] Lifecycle transition matrix exacte testée.
- [ ] Transition invalide conserve létat source.
- [ ] Stop token idempotent/shared testée.
- [ ] Snapshot sequence/exhaustion testée.
- [ ] Public API consumer depuis crate root testée.
- [ ] Dependency firewall initial testée.
Les cases cochées de cette sous-section attestent la matérialisation de la surface et des canaries prévues. L'environnement d'assemblage ne disposant pas de Cargo, leur exécution Rust reste un gate opérateur avant `pre.003`.
- [X] `crates/ksp-worker-api` créée dans le workspace.
- [X] Manifest sans feature/dev/build dependency et avec Core uniquement.
- [X] `identity.rs`, `error.rs`, `lifecycle.rs`, `snapshot.rs`, `stop.rs`, `lib.rs` matérialisés.
- [X] Façade crate-root uniquement, aucun `pub mod`.
- [X] Quatre error codes stables `worker_api` matérialisés.
- [X] Bounds exacts identity testés.
- [X] Lifecycle transition matrix exacte testée.
- [X] Transition invalide conserve létat source.
- [X] Stop token idempotent/shared testée.
- [X] Snapshot sequence/exhaustion testée.
- [X] Public API consumer depuis crate root testée.
- [X] Dependency firewall initial testée.
### `pre.003`
@@ -197,10 +213,10 @@ Aucun item ci-dessous nest déclaré exécuté en `pre.001`.
La livraison initiale `pre.001` avait conservé `workspace.package.version = 0.3.8` en suivant lexception du prompt 028. Cette exception est supplantée par la règle normative `VER-ID-009`.
Après `pre.001-fix.002`, létat courant est :
Après `pre.002`, létat courant est :
```text
workspace.package.version = 0.3.9-pre.1.fix.2
workspace.package.version = 0.3.9-pre.2
```
Ce fix modifie `Cargo.toml` et suit donc `VER-ID-007`/`VER-ID-010`. `0.3.9-pre.2` reste la version Cargo de la future tranche non-fix `pre.002`.
`pre.002` est une nouvelle tranche non-fix et synchronise donc Cargo conformément à `VER-ID-006` et `VER-ID-009`. L'état précédent `0.3.9-pre.1.fix.2` reste documenté dans `pre.001-fix.002`.