# Delta `0.3.12-rel.001` — publication stable ## Base requise Base directe attendue : ```text 0.3.12-pre.013 workspace.package.version = 0.3.12-pre.13 ``` Le gate opérateur minimal de `pre.013`, exécuté le **9 septembre 2026**, est propre : ```text cargo fmt --all -- --check: PASS General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean Markdown table audit: clean (340 table(s), 824 file(s)) cargo check --workspace: PASS ``` Les couloirs de fermeture antérieurs sont déjà fermés : - `pre.011` : gate technique complet avec `cargo test --workspace --all-targets --all-features`, suites ciblées, graphes Cargo Worker normal/features et `cargo tree --duplicates` ; - smokes live keyless exécutés après `pre.011` : HTTP Solana Devnet PASS et WebSocket Solana Devnet PASS ; - `pre.012` : réconciliation documentaire finale des surfaces Yellowstone/hydration/frontier/replay et du statut réel des preuves live ; - `pre.013` : préparation minimale de publication avec `CHANGELOG.md`, `ROADMAP.md` et `prompts/032-V0_3_13_START_PROMPT.md`. ## Objet Publier mécaniquement la version stable : ```text 0.3.12 ``` Conformément à `VER-LIFECYCLE-012`, cette tranche ne corrige ni code, ni test, ni documentation durable, ni architecture, ni configuration, ni dépendance, ni prompt. Tout défaut nouveau renvoie vers une prerelease appropriée ; `rel.001` n'est pas une tranche de rattrapage. ## Modification ### `Cargo.toml` Le header est incrémenté parce que le fichier est réellement modifié : ```text 538 -> 539 ``` La version workspace devient : ```text 0.3.12-pre.13 -> 0.3.12 ``` Aucune autre ligne du `Cargo.toml` racine n'est modifiée. ## Fichiers ajoutés ```text deltas/0.3.12/rel.001.md ``` ## Fichiers modifiés ```text Cargo.toml ``` ## Fichiers supprimés ```text aucun ``` ## Surfaces explicitement inchangées ```text CHANGELOG.md ROADMAP.md README.md RULES.md prompts/032-V0_3_13_START_PROMPT.md crates/** docs/** config/** ``` La surface préparée en `pre.013` reste byte-identique hors mécanique Cargo et ajout du présent delta. ## Surface stable publiée `0.3.12` stabilise la première verticale réseau productive de `ksp-worker-raw-transaction-ingest-lib` : - source Yellowstone gRPC caller-composed et supervisée via `ksp-onchain-transport-lib` ; - updates `Transaction`, `TransactionStatus` et transactions de `Block` projetées en signaux source-neutral ; - coalescence bornée par identité `(network, signature, commitment)` avant hydration ; - hydration HTTP `getTransaction` observed puis conversion Common RAW via `ksp-raw-transaction-lib` avant admission/persistence Store ; - `BlockMeta` et `Slot` réservés à la continuité ; - provenance composite sûre, sans URL, secret ni payload distant ; - processing frontier strictement run-local, distincte d'une preuve durable de complétude ; - reconnect/replay, `from_slot` et `SubscribeReplayInfo` conservés sous ownership Transport ; - distinction explicite entre tentative de replay, reconnexion réussie et gap de rétention prouvé ; - fault Worker sur gap prouvé, sans lancement automatique de Backfill ni campagne de réparation ; - hardening des duplicate storms, overflow de compteurs, backpressure, stop/fault races, abort/join des hydrations et absence de tâches/frontier orphelines ; - canaris cross-layer Transport -> Worker -> Common RAW -> Store, inventaires publics et dependency firewalls fermés ; - gate workspace complet `--all-targets --all-features` validé ; - smokes live keyless HTTP Devnet et WebSocket Devnet réellement PASS ; - smokes Yellowstone token-gated et Worker end-to-end laissés explicitement non exécutés faute de ressources opérateur complètes lors du gate. Le Job Backfill historique paramétré et le Worker Ingest continu restent deux producteurs indépendants du même Store. `0.3.12` ne transforme pas le Worker en moteur de campagne historique et ne persiste aucun checkpoint de replay Worker. ## Suite préparée La session suivante part exclusivement de la base stable : ```text v0.3.12 ``` et exécute : ```text prompts/032-V0_3_13_START_PROMPT.md ``` pour ouvrir : ```text 0.3.13 — WS standard / Helius / HTTP live + convergence multi-source ``` `0.3.13-pre.001` doit commencer par audit/sizing/planification avant tout développement lourd. Le gap repair/hardening multi-source complet reste réservé à `0.3.14`. ## Gate demandé La tranche est purement mécanique. Aucune dépendance, feature, source runtime, configuration ou documentation durable n'est modifiée par `rel.001`. ```bash cargo fmt --all -- --check python3 scripts/audit_rust_workspace_rules.py python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.12 cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-worker-raw-transaction-ingest-lib cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features ``` Après gate propre : ```text commit : v0.3.12-rel.001 tag : v0.3.12 ``` Aucun tag de prerelease ou `rel.001` n'est requis.