# Delta 0.3.10-pre.001 — audit/sizing RAW Transaction + Worker ingest ## Base ```text archive : khadhroony-solana-project-v0.3.9.zip SHA-256 : 41ef2589a11410aabfb329d387f0008e116006da60ada0802e5f72bc30d3466f ZIP bytes : 7859118 ZIP entries : 1855 unzip -t : PASS workspace members : 19 workspace.package.version base : 0.3.9 ``` Le ZIP a été contrôlé sans path traversal/entrée absolue, symlink, `.git/`, `target/`, `node_modules/`, `Cargo.lock`, `.env` ou fichier de clé privée détecté. ## Type de livraison ```text ksp-general-0.3.10-pre.001.zip ``` Le type `general` est obligatoire parce que `Cargo.toml` racine est synchronisé vers `0.3.10-pre.1` par `VER-ID-009`. L’archive d’échange ne doit contenir que les fichiers ajoutés/modifiés et le delta, conformément à `VER-ARCHIVE-004`. ## Baseline exécutée avant modification ```text python3 scripts/audit_rust_workspace_rules.py General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas Markdown table audit: clean (332 table(s), 750 file(s)) ``` `cargo` n’est pas installé dans l’environnement d’assemblage. Aucun gate Cargo local n’est déclaré PASS. Le journal opérateur stable `0.3.9` reste une preuve externe distincte. ## Objectif Exécuter le gate d’ouverture `0.3.10-pre.001` demandé par le prompt `029` : vérifier intégralement la base `v0.3.9`, auditer l’extraction RAW commune et les capabilities live, réévaluer `TR-B..TR-F`, fixer les frontières Common/Worker/Transport/Config/Store, puis dimensionner les tranches suivantes sans commencer l’implémentation lourde. ## Mission exécutée `pre.001` reste une tranche de planification, conformément au prompt `029` : ```text lecture règles/architecture obligatoires inventaire workspace/manifests/features extraction RAW commune auditée capability matrix Worker implementation-ready TR-B..TR-F réévalués fraîcheur Solana/Yellowstone/providers revalidée runtime/source supervision décidés continuité/gap repair décidés snapshot concret décidé Config/secrets boundary décidée threat model et preuves définis dependency graph cible fixé prereleases redimensionnées ``` Aucune implémentation lourde des deux nouvelles crates n’est commencée. ## Décisions principales ### Common RAW ```text crate : ksp-raw-transaction-lib RAW format : ksp.solana.raw_transaction v1 inchangé common deps : ksp-core-lib + ksp-store-lib(default-features=false) + serde_json + sha2 aucun Transport/Config/Job/Worker/runtime/backend RawObservationKey reste producer-owned Backfill conserve son observation key/job_id/scope_fingerprint/origin ``` Golden confirmé : ```text byte_len = 112 sha256 = 220792d2b15d262fda242cb220774ee9ddeffebf04dcfadabcf8ef76a9b1a7c3 ``` Toute source full doit prouver une parité byte-for-byte avec RAW v1 avant persistence directe ; sinon elle reste discovery + hydration. ### Worker concret ```text crate : ksp-worker-raw-transaction-ingest-lib caller-owned Tokio runtime Worker-owned source/supervisor tasks bounded channels uniquement multi-source simultané Store idempotence comme vérité de convergence observations distinctes conservées content conflict terminal repair borné au run frontier reconnect != replay aucun paramètre historique métier au start ``` ### Transport gaps ```text TR-B confirmé : get_block_observed TR-C confirmé/scindé : common material + adapters Worker + Transport change only if DTO lacks fidelity TR-D confirmé : provenance durable full-material + source runtime snapshot TR-E confirmé : reuse from_slot/replay info, aucun second Yellowstone client TR-F réservé : EARLY seulement si protocole/accès/rôle RAW prouvés ``` ### Config ```text aucun edge Worker -> Config std.transport V3 actuel réutilisé pas de nouveau document métier Worker imposé en 0.3.10 adaptation Config seulement si un manque Transport concret l’exige secrets restent Config-owned et redacted ``` ## Fraîcheur externe Vérifié le 5 septembre 2026 : ```text yellowstone-grpc-proto latest = 12.7.0 (2026-08-29) workspace stable = ^12.7 -> aucun bump initial Yellowstone block from_slot replay a reçu un fix upstream en juillet 2026 -> smoke block replay obligatoire Helius transactionSubscribe courant ; Helius blockSubscribe explicitement non supporté Helius LaserStream replay 24 h documenté PublicNode Yellowstone Mainnet/Testnet visible ; replay depth non prouvée OrbitFlare gRPC Devnet disponible Free/Developer QuickNode gRPC Scale+ ; port 443/x-token ; port 10000 sunset 2026-10-01 Alchemy replay docs contradictoires 6000 vs 432000 slots -> aucune constante KSP Jito ShredStream shutdown annoncé pour 2026-09-05 -> SUNSET, non retenu TR-F ``` ## Plan recalibré ```text pre.002 common RAW foundation pre.003 Backfill migration pre.004 observed block + HTTP block material pre.005 WS/Helius full parity pre.006 Yellowstone parity pre.007 Worker runtime foundation pre.008 Yellowstone live/replay pre.009 WS/HTTP live pre.010 multi-source persistence/hardening pre.011 gap repair pre.012 Config/profiles + smokes accessibles pre.013 EARLY si prouvé, sinon consolidation pre.014 gate technique/live final pre.015 réconciliation documentaire pre.016 préparation publication rel.001 stable ``` ## Fichiers ajoutés ```text docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md deltas/0.3.10/pre.001.md ``` ## Fichiers modifiés ```text Cargo.toml ``` `Cargo.toml` : ```text file version 489 -> 490 workspace.package.version 0.3.9 -> 0.3.10-pre.1 ``` Ce bump est requis par `VER-ID-009` pour toute prerelease non-fix, même lorsque la tranche est documentaire. ## Fichiers supprimés ```text aucun ``` ## Validation après modification Audits statiques réellement exécutés après matérialisation de `pre.001` : ```text python3 scripts/audit_rust_workspace_rules.py General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas Markdown table audit: clean (339 table(s), 753 file(s)) ``` Le premier passage Markdown post-modification a détecté 32 erreurs d’alignement uniquement dans les nouvelles tables. Elles ont été corrigées selon la règle KSP, puis le gate complet ci-dessus a été relancé jusqu’à PASS. La comparaison byte-à-byte contre le contenu du ZIP stable, après suppression du cache Python d’audit, donne exactement : ```text ajoutés : deltas/0.3.10/pre.001.md docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md modifié : Cargo.toml supprimé : aucun ``` Les commandes Cargo/Tauri ne sont pas exécutables dans l’environnement d’assemblage courant (`cargo` absent). Elles restent donc explicitement `NON EXÉCUTÉES LOCALEMENT` pour ce delta ; aucune preuve opérateur antérieure n’est transformée en PASS local. ## Validations non exécutées localement ```text cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test --workspace --all-targets --all-features cargo tree --duplicates builds Tauri smokes live opt-in ``` Motif : toolchain Cargo absent du sandbox d’assemblage et aucune credential/provider live n’est injectée. Les preuves stables fournies par l’opérateur sont conservées comme contexte externe distinct ; elles ne remplacent pas les gates futurs de `0.3.10`. ## Questions ouvertes Aucune question de boundary ne bloque `pre.002`. Restent volontairement à résoudre par preuve pendant les tranches prévues : ```text parité byte-for-byte RAW v1 des sources WS/Helius/Yellowstone full profondeur replay réellement observable par provider au moment du smoke nécessité éventuelle d’un profil/rôle Transport supplémentaire pour un smoke accessible admission d’une source EARLY seulement si protocole, accès et rôle RAW sont effectivement prouvés ``` Ces points ne doivent pas être anticipés par des constantes, des claims lossless ou une RAW v2. ## Non inclus ```text aucune nouvelle crate créée aucun Rust modifié aucun Transport/Config/Store code modifié aucun kbot3 ouvert ou copié aucun Worker live aucun RAW v2 aucun CHANGELOG/ROADMAP modifié aucun prompt 0.3.11 créé aucun Cargo gate déclaré localement ```