Files
2026-09-11 00:41:22 +02:00

7.2 KiB

Delta 0.3.13-rel.001 — publication stable

Base requise

Base directe attendue :

0.3.13-pre.015
workspace.package.version = 0.3.13-pre.15

Les couloirs de fermeture précédents sont fermés :

  • pre.013 : gate technique déterministe complet, graphes Cargo et qualification explicite des smokes live ;
  • smokes keyless post-pre.013 : Solana HTTP Devnet 1/1 PASS et WebSocket Devnet 1/1 PASS ;
  • pre.014 : réconciliation documentaire finale de l'architecture, du plan et de la validation ;
  • pre.015 : préparation minimale de publication avec CHANGELOG.md, ROADMAP.md et prompts/033-V0_3_14_START_PROMPT.md.

Le gate opérateur reçu avant pre.015, exécuté le 10 septembre 2026 à 23:15 sur 0.3.13-pre.014, est propre pour rustfmt, audits Rust/Markdown, cargo check --workspace et Clippy strict.

L'environnement d'assemblage de pre.015 ne possède pas Cargo/Rustc. Le gate Cargo de l'état exact 0.3.13-pre.015 reste donc un prérequis d'application de ce delta et ne doit pas être déclaré PASS sans exécution opérateur réelle :

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
cargo check --workspace

Si ce gate révèle un défaut, ne pas appliquer rel.001 : ouvrir la prerelease/fix appropriée selon la responsabilité concernée.

Objet

Publier mécaniquement la version stable :

0.3.13

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é :

564 -> 565

La version workspace devient :

0.3.13-pre.15 -> 0.3.13

Aucune autre ligne du Cargo.toml racine n'est modifiée.

Fichiers ajoutés

deltas/0.3.13/rel.001.md

Fichiers modifiés

Cargo.toml

Fichiers supprimés

aucun

Surfaces explicitement inchangées

CHANGELOG.md
ROADMAP.md
README.md
RULES.md
prompts/033-V0_3_14_START_PROMPT.md
crates/**
docs/**
config/**

La surface préparée en pre.015 reste byte-identique hors mécanique Cargo et ajout du présent delta.

Surface stable publiée

0.3.13 stabilise la convergence live multi-source de ksp-worker-raw-transaction-ingest-lib :

  • composition caller-owned de 1 à 32 sources logiques d'un même réseau, avec identités dupliquées rejetées avant spawn ;
  • cinq familles live productives : Yellowstone, Standard Logs, Standard Block, Helius Transaction et HTTP Block Polling ;
  • Standard Logs et Helius Transaction convergent avec Yellowstone vers l'hydration globale getTransaction observed ;
  • Standard Block et HTTP Block Polling utilisent le RAW-direct uniquement pour Legacy/V0/V1 qualifiés, avec maxSupportedTransactionVersion = 1 ;
  • coalescence cross-source de (network, signature, commitment) avant hydration et sérialisation bornée de l'acquisition canonique (network, signature) ;
  • observations/provenances distinctes conservées pour un contenu canonique identique ; divergence convertie en content_conflict terminal, sans majorité, overwrite ou first-provider-wins ;
  • backpressure, quotas et fairness source-neutral bornés entre sources reference-bearing, hydration et persistence ;
  • snapshots/health agrégés sans exposition du matériau provider ; reconnexion transitoire Degraded, source Failed Unhealthy, retour à Healthy lorsque toutes les sources attendues redeviennent actives ;
  • une faute source reste terminale en 0.3.13 faute de preuve d'équivalence de coverage ; le repair/failover non terminal appartient à 0.3.14 ;
  • shutdown stop/fault/drain/abort+join durci contre leaders d'hydration abandonnés, Store lent, counters et publications tardives ;
  • aucune dépendance Worker vers Config, Job Backfill ou backend Store physique, aucun client réseau/SDK provider parallèle et aucun second actor Transport.

Le gate technique déterministe de la release a exécuté cargo test --workspace --all-targets --all-features avec :

1 850 PASS
0 échec
15 ignored opt-in/operator-only

Les smokes keyless Solana HTTP Devnet et WebSocket Devnet passent 1/1 chacun. Les preuves Yellowstone provider-gated, Helius transactionSubscribe live, blockSubscribe provider dédié, HTTP Block Polling Worker end-to-end et Worker multi-source -> Store end-to-end restent explicitement NON EXÉCUTÉ faute de gate provisionné ; aucune fixture ou compilation d'un test ignored ne les requalifie en PASS.

Le Job Backfill historique paramétré et le Worker Ingest continu restent deux producteurs indépendants du même Store. 0.3.13 n'introduit ni campagne historique automatique, ni checkpoint durable Worker, ni preuve de blockchain completeness.

Suite préparée

La session suivante part exclusivement de la base stable :

v0.3.13

et exécute :

prompts/033-V0_3_14_START_PROMPT.md

pour ouvrir :

0.3.14 — gap repair / hardening multi-source du Worker RawTransaction

0.3.14-pre.001 doit commencer par lecture, audit interne/externe, brainstorming, sizing et planification avant toute implémentation de repair. Il doit distinguer reconnect, replay attempt, coverage prouvée, repair et unresolved gap ; le Worker ne doit toujours pas devenir un moteur de campagne historique ni dépendre de ksp-job-backfill-lib.

Validations d'assemblage

Sur l'état candidat rel.001, avant packaging :

General Rust rule audit : clean
Rust export completeness audit : 0 candidate(s)
KSP workspace Rust rule audit : clean
Markdown table audit : clean, 340 tables / 855 files
5/5 tests unitaires du validateur Markdown : PASS
489 définitions de règles / 489 identifiants uniques / 0 doublon
diff exact pre.015 -> rel.001 : Cargo.toml modifié + rel.001.md ajouté, 0 autre changement
Cargo.toml : exactement 2 lignes différentes, header 564 -> 565 et version 0.3.13-pre.15 -> 0.3.13

Les contrôles unzip -t, archive safety et inventaire minimal du ZIP sont exécutés après packaging avant livraison.

Aucun PASS Cargo post-bump stable n'est revendiqué localement faute de toolchain.

Gate demandé après application

La tranche est purement mécanique. Après application sur un pre.015 dont le gate préalable est vert :

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.13
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-worker-raw-transaction-ingest-lib
cargo test -p ksp-onchain-transport-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 :

commit : v0.3.13-rel.001
tag    : v0.3.13

Aucun tag de prerelease ou rel.001 n'est requis.