v0.3.6-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/023-V0_3_6_JOB_API_BACKFILL.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# Validation v0.3.6 — Job API et premier backfill RAW
|
||||
|
||||
@@ -49,7 +49,8 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
- [X] Gate opérateur de `pre.002` : `cargo fmt`, audits Rust/Markdown, `cargo check --workspace` et arbres Cargo normal/features verts.
|
||||
- [X] Échec de `pre.002` constaté dans la preuve opérateur : Clippy `--all-targets` et les tests compilent `unit_tests/lifecycle.rs`, où le helper `lifecycle()` est masqué par une variable homonyme (`E0618`, puis `E0282`).
|
||||
- [X] `pre.002-fix.001` renomme uniquement le helper en `new_lifecycle()` et synchronise ses six appels sans modifier le contrat public ni la matrice de transitions.
|
||||
- [X] L'environnement courant ne fournit pas l'exécutable `cargo` ; aucune validation Rust locale n'est annoncée comme exécutée.
|
||||
- [X] Gate opérateur de `pre.002-fix.001` : `cargo fmt`, audits Rust/Markdown, `cargo check`, Clippy, dix unitaires + onze canaries `ksp-job-api`, toutes les suites workspace, `cargo test --workspace` et arbres Cargo Job API verts.
|
||||
- [X] L'environnement courant ne fournit pas l'exécutable `cargo` ; aucune validation Rust locale de `pre.003` n'est annoncée comme exécutée.
|
||||
- [X] Le workspace compte 14 crates et aucune crate Job au point de départ.
|
||||
|
||||
## 4. Autorités et cohérence documentaire
|
||||
@@ -70,15 +71,17 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
- [X] Transitions `Created`, `Running`, `Cancelling`, `Completed`, `Cancelled` et `Failed` contrôlées.
|
||||
- [X] États terminaux immuables et lifecycle producteur non cloneable.
|
||||
- [X] `JobCancellationToken` cloneable, idempotent, `Send + Sync` et sans Tokio public.
|
||||
- [ ] `JobNotificationSequence` strictement monotone avec overflow traité sans panic.
|
||||
- [ ] `JobNotification<S>` contient un snapshot complet, sûr et borné.
|
||||
- [ ] `JobSnapshotSource` permet lecture courante et attente de changement sans callback producteur.
|
||||
- [X] Aucun type Transport, Store, Logging, Tokio, serde, Worker ou Backfill dans l'API publique de `pre.002`.
|
||||
- [X] Canaries externes de construction, lifecycle, annulation, firewalls, complétude et sécurité matérialisées.
|
||||
- [ ] Dix unitaires et onze canaries Rust exécutés avec `cargo test -p ksp-job-api` par l'opérateur.
|
||||
- [X] `JobNotificationSequence` strictement monotone avec overflow traité sans panic.
|
||||
- [X] `JobNotification<S>` contient identité, kind, séquence, état et snapshot complet ; son `Debug` masque le snapshot et le contrat impose au snapshot concret de rester sûr et borné.
|
||||
- [X] `JobSnapshotSource` permet lecture courante et attente abstraite d'une valeur plus récente sans callback producteur ni type Tokio public.
|
||||
- [X] Aucun type Transport, Store, Logging, Tokio, serde, Worker ou Backfill dans l'API publique de `pre.003`; le futur abstrait utilise uniquement `std`.
|
||||
- [X] Canaries externes de construction, lifecycle, annulation, notifications latest-value, firewalls, complétude et sécurité matérialisées.
|
||||
- [X] Dix unitaires et onze canaries de `pre.002-fix.001` exécutés avec `cargo test -p ksp-job-api` par l'opérateur.
|
||||
|
||||
## 6. Notifications multi-listeners
|
||||
|
||||
`pre.003` fige le contrat public et ses canaries de resynchronisation. Les cases portant sur le stockage/réveil concret restent volontairement ouvertes jusqu'au producer `ksp-job-backfill-lib` ; un fake de test n'est pas traité comme preuve runtime de production.
|
||||
|
||||
- [ ] Stockage O(1) de la dernière valeur, sans historique non borné.
|
||||
- [ ] Un listener lent ne bloque jamais le producteur.
|
||||
- [ ] Plusieurs listeners progressent indépendamment.
|
||||
@@ -179,8 +182,8 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
- [ ] Aucun retour de dépendance vers Job depuis les couches basses.
|
||||
- [ ] Versions et features des nouvelles dépendances auditées avant ajout.
|
||||
- [ ] `cargo fmt --all -- --check` vert.
|
||||
- [X] `scripts/audit_rust_workspace_rules.py` vert sur `pre.002-fix.001` dans l'environnement d'assemblage.
|
||||
- [X] `scripts/audit_markdown_tables.py` vert sur `pre.002-fix.001` dans l'environnement d'assemblage.
|
||||
- [X] `scripts/audit_rust_workspace_rules.py` vert sur `pre.003` dans l'environnement d'assemblage.
|
||||
- [X] `scripts/audit_markdown_tables.py` vert sur `pre.003` dans l'environnement d'assemblage (264 tables / 144 fichiers).
|
||||
- [X] Contrats de fichiers de `FILE_CONTRACTS.md` vérifiés sur chaque ajout de `pre.001`.
|
||||
- [ ] `cargo check --workspace` vert.
|
||||
- [ ] `cargo clippy --workspace --all-targets --all-features -- -D warnings` vert.
|
||||
|
||||
Reference in New Issue
Block a user