81 lines
3.8 KiB
Markdown
81 lines
3.8 KiB
Markdown
<!-- file: deltas/0.3.6/pre.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta v0.3.6-pre.1 — cadrage Job API et backfill RAW
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
v0.3.5
|
|
workspace.package.version = 0.3.5
|
|
```
|
|
|
|
Cette tranche part exclusivement de l'archive KSP v0.3.5 fournie. L'archive kbot3 ne sert que de référence fonctionnelle isolée.
|
|
|
|
## Résumé
|
|
|
|
Cette préversion ouvre la v0.3.6 par un audit documentaire et fonctionnel complet. Elle fixe les contrats, limites, ownerships, scénarios de validation et tranches de livraison avant toute implémentation lourde.
|
|
|
|
kbot3 a été consulté dans un arbre séparé uniquement pour inventorier les comportements et scénarios. Aucun code, extrait ou fichier de cette archive n'est intégré au projet.
|
|
|
|
## Vérifications préalables
|
|
|
|
- archive KSP v0.3.5 : test ZIP intégral propre, 1 515 entrées, SHA-256 `c395efb6a09c786069aa5063a7a414b55f8ae24e2b9d6eaa414b2f312cd62588` ;
|
|
- archive kbot3 : test ZIP intégral propre, 2 501 entrées, SHA-256 `ee47643b9f8b582ee8db97b2381ec107e45aef8c009fee44757531514615d318` ;
|
|
- aucune entrée absolue, traversée, avec séparateur inversé ou lien symbolique ZIP ;
|
|
- règles, architecture, roadmap, changelog et historique de publication relus ;
|
|
- surfaces réelles de Core, Transport et Store auditées ;
|
|
- contrats officiels Solana `getSignaturesForAddress` et `getTransaction` recoupés ;
|
|
- journal opérateur v0.3.5 conservé comme preuve externe, sans le confondre avec une exécution locale.
|
|
|
|
## Décisions figées
|
|
|
|
- deux crates finales obligatoires : `ksp-job-api` et `ksp-job-backfill-lib` ;
|
|
- Job API passive, runtime-neutral, latest-value, multi-listeners et sans callback producteur ;
|
|
- portées latest, before, after et signatures explicites ;
|
|
- Transport propriétaire exclusif du routage, pacing, timeout et retry ;
|
|
- extension additive observée de `getTransaction` pour obtenir la provenance réelle de l'endpoint victorieux ;
|
|
- format RAW `ksp.solana.raw_transaction` version `1`, base64, JSON canonique déterministe ;
|
|
- accès Store uniquement via `ksp-store-lib`, écriture atomique en mode `Normal` ;
|
|
- checkpoint par frontière contiguë, sans saut de missing, conflit, erreur ou annulation ;
|
|
- `Missing` observable comme résultat partiel, conflit et erreurs d'infrastructure comme échec ;
|
|
- pas de Worker API, application, Config, backend direct, journal de tentatives ni pipeline partagé en v0.3.6.
|
|
|
|
## Fichiers ajoutés
|
|
|
|
- `docs/plans/027-V0_3_6_JOB_API_BACKFILL_PLAN.md` ;
|
|
- `docs/validation/023-V0_3_6_JOB_API_BACKFILL.md` ;
|
|
- `deltas/0.3.6/pre.001.md`.
|
|
|
|
## Fichier modifié
|
|
|
|
- `Cargo.toml` : header `392` vers `393`, version workspace `0.3.5` vers `0.3.6-pre.1`.
|
|
|
|
## Validations exécutées
|
|
|
|
- `python3 scripts/audit_rust_workspace_rules.py` : propre sur la baseline v0.3.5 ;
|
|
- `python3 scripts/audit_markdown_tables.py` : 240 tables et 150 fichiers propres sur la baseline v0.3.5 ;
|
|
- audit Rust workspace post-modification : propre et zéro candidat d'export ;
|
|
- audit Markdown post-modification sur racine, docs, prompts, crates et deltas v0.3.5 ou v0.3.6 : 240 tables et 153 fichiers propres ;
|
|
- contrats de fichiers, tailles et absence de code kbot3 dans le payload vérifiés.
|
|
|
|
## Validations non exécutées
|
|
|
|
`cargo` est indisponible dans l'environnement courant. `cargo fmt`, `cargo check`, `cargo clippy` et `cargo test` ne sont donc pas annoncés comme réussis et devront être rejoués par l'opérateur.
|
|
|
|
## Non inclus
|
|
|
|
- aucune nouvelle crate ;
|
|
- aucun code Rust ;
|
|
- aucun manifeste de crate ;
|
|
- aucune reprise de code kbot3 ;
|
|
- aucune publication stable.
|
|
|
|
## Questions ouvertes
|
|
|
|
Aucune question ne bloque `pre.002`. La version exacte et les features du décodeur Base58 seront décidées par audit de dépendance au moment de la tranche de conversion, sans SDK Solana complet.
|
|
|
|
## Suite prévue
|
|
|
|
`pre.002` implémente uniquement identité, lifecycle et annulation de `ksp-job-api`, conformément au découpage du plan 027.
|