Files
khadhroony-solana-project/deltas/0.3.6/pre.001.md
2026-09-01 09:35:02 +02:00

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.