v0.3.6-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/023-V0_3_6_JOB_API_BACKFILL.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 10 -->
|
||||
|
||||
# Validation v0.3.6 — Job API et premier backfill RAW
|
||||
|
||||
@@ -60,6 +60,8 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
- [X] Gate opérateur de `pre.005` : `cargo fmt`, audits Rust/Markdown et `cargo check --workspace` verts ; les 11 tests unitaires et 6 canaries `ksp-job-backfill-lib` sont verts.
|
||||
- [X] Le même gate révèle un unique échec Clippy `clippy::implicit_return` dans la closure privée qui dérive le curseur `before`; les arbres Cargo normal/features sont néanmoins exécutés et cohérents avec le graphe prévu.
|
||||
- [X] `pre.005-fix.001` ajoute uniquement le `return` explicite exigé dans cette closure et ne modifie ni valeur, ni pagination, ni identité réseau, ni dépendance, ni API publique.
|
||||
- [X] Gate opérateur de `pre.005-fix.001` : `cargo fmt`, audits Rust/Markdown, `cargo check`, Clippy, 11 unitaires + 6 canaries `ksp-job-backfill-lib` et arbres Cargo normal/features verts sur `0.3.6-pre.5.fix.1`.
|
||||
- [X] Versions d'en-tête du `Cargo.toml` racine et de `discovery.rs` corrigées dans la base opérateur avant `pre.006`.
|
||||
|
||||
## 4. Autorités et cohérence documentaire
|
||||
|
||||
@@ -100,30 +102,30 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
|
||||
## 7. Admission et portées
|
||||
|
||||
`pre.005` matérialise les contrats et leurs tests. Le gate opérateur confirme les 11 unitaires et 6 canaries, tandis que Clippy impose un fix syntaxique sans effet comportemental avant clôture complète. L'identité candidate est `(RawNetworkId, signature)` ; rôle HTTP, provider, endpoint et protocole ne participent ni à cette identité ni au fingerprint sémantique du scope.
|
||||
`pre.005` matérialise les contrats et leurs tests. Le gate du fix confirme les 11 unitaires et 6 canaries avec Clippy vert. L'identité candidate est `(RawNetworkId, signature)` ; rôle HTTP, provider, endpoint et protocole ne participent ni à cette identité ni au fingerprint sémantique du scope.
|
||||
|
||||
- [ ] `LatestAddress`, `BeforeAddress`, `AfterAddress` et `ExplicitSignatures` couverts.
|
||||
- [ ] Adresse validée par le type Core existant.
|
||||
- [X] `LatestAddress`, `BeforeAddress`, `AfterAddress` et `ExplicitSignatures` couverts.
|
||||
- [X] Adresse validée par le type Core existant.
|
||||
- [ ] Signature Base58 décodée vers exactement 64 octets.
|
||||
- [ ] Engagement limité à `Confirmed` ou `Finalized`.
|
||||
- [ ] Taille de page entre 1 et 1 000.
|
||||
- [ ] Nombre de pages entre 1 et 10 000.
|
||||
- [ ] Nombre de candidats entre 1 et 10 000.
|
||||
- [ ] Concurrence d'hydratation entre 1 et 64.
|
||||
- [ ] `min_context_slot` transmis sans en changer le sens.
|
||||
- [X] Engagement limité à `Confirmed` ou `Finalized`.
|
||||
- [X] Taille de page entre 1 et 1 000.
|
||||
- [X] Nombre de pages entre 1 et 10 000.
|
||||
- [X] Nombre de candidats entre 1 et 10 000.
|
||||
- [X] Concurrence d'hydratation entre 1 et 64.
|
||||
- [X] `min_context_slot` transmis sans en changer le sens.
|
||||
- [ ] Checkpoint rejeté si son JobId ou son fingerprint de scope diffère.
|
||||
- [ ] Aucun défaut d'application silencieux dans la bibliothèque.
|
||||
- [X] Aucun défaut d'application silencieux dans la bibliothèque.
|
||||
|
||||
## 8. Pagination, ordre et déduplication
|
||||
|
||||
- [ ] Latest respecte l'ordre officiel du plus récent au plus ancien.
|
||||
- [ ] Before utilise une ancre exclusive et avance vers l'historique plus ancien.
|
||||
- [ ] After atteint l'ancre, garde les plus proches candidats plus récents et produit un ordre déterministe.
|
||||
- [ ] Ancre before absente acceptée comme curseur.
|
||||
- [ ] Ancre after non atteinte bornée et signalée comme résultat partiel.
|
||||
- [ ] Doublons inter-pages retirés à première occurrence.
|
||||
- [ ] Doublons explicites retirés sans réordonner la liste.
|
||||
- [ ] Limites de pages et candidats respectées sur tous les chemins.
|
||||
- [X] Latest respecte l'ordre officiel du plus récent au plus ancien.
|
||||
- [X] Before utilise une ancre exclusive et avance vers l'historique plus ancien.
|
||||
- [X] After atteint l'ancre, garde les plus proches candidats plus récents et produit un ordre déterministe.
|
||||
- [X] Ancre before absente acceptée comme curseur.
|
||||
- [X] Ancre after non atteinte bornée et signalée comme résultat partiel.
|
||||
- [X] Doublons inter-pages retirés à première occurrence.
|
||||
- [X] Doublons explicites retirés sans réordonner la liste.
|
||||
- [X] Limites de pages et candidats respectées sur tous les chemins.
|
||||
|
||||
## 9. Acquisition Transport et retry
|
||||
|
||||
@@ -137,6 +139,8 @@ Aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique
|
||||
|
||||
## 10. RAW v1 et provenance
|
||||
|
||||
`pre.006` matérialise cette surface et ses tests statiques/unitaires ; les cases ci-dessous restent ouvertes jusqu'au gate Cargo opérateur de la tranche.
|
||||
|
||||
- [X] Identité logique future auditée : transaction/signature scoping par `RawNetworkId`, jamais par rôle/provider/endpoint/protocole.
|
||||
- [X] Le Store PostgreSQL actuel est mono-réseau via `ksp_store_identity`; un futur backend multi-réseaux devra préserver `(network, signature)` par clé/partition équivalente.
|
||||
- [ ] Format `ksp.solana.raw_transaction`, version `1`, figé.
|
||||
|
||||
Reference in New Issue
Block a user