Files
khadhroony-solana-project/deltas/0.3.9/rel.001.md
2026-09-05 20:47:42 +02:00

5.3 KiB

Delta 0.3.9-rel.001 — publication stable

Base requise

Base directe attendue :

0.3.9-pre.009
workspace.package.version = 0.3.9-pre.9

Le gate minimal opérateur de pre.009, exécuté le 5 septembre 2026, est propre :

General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
KSP workspace Rust rule audit: clean
Markdown table audit: clean (332 table(s), 749 file(s))
cargo check --workspace: PASS

Les couloirs de fermeture antérieurs sont déjà fermés :

  • pre.007, corrigée par pre.007-fix.001 puis pre.007-fix.002 : gate technique final, passage explicite à jsonschema ^0.53 et yellowstone-grpc-proto ^12.7, adaptation des fixtures serveur au RPC SubscribeGossip, puis workspace --all-targets --all-features, Worker API et graphes Cargo validés ;
  • pre.008 : réconciliation documentaire finale des surfaces Worker/architecture/indexes/plan/validation ;
  • pre.009 : préparation minimale de publication avec CHANGELOG.md, ROADMAP.md et prompts/029-V0_3_10_START_PROMPT.md.

Objet

Publier mécaniquement la version stable :

0.3.9

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

488 -> 489

La version workspace devient :

0.3.9-pre.9 -> 0.3.9

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

Fichiers ajoutés

deltas/0.3.9/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/029-V0_3_10_START_PROMPT.md
crates/**
docs/**
config/**

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

Surface stable publiée

0.3.9 stabilise d'abord ksp-worker-api comme API générique, courte et runtime-neutral pour services continus :

  • identité et kind bornés ;
  • lifecycle explicite et états terminaux immuables ;
  • health/activity sûrs ;
  • stop token partagé et idempotent ;
  • séquence/snapshot latest-value ;
  • WorkerSnapshotSource object-safe, Send + Sync, consommable sans runtime imposé ;
  • dépendance runtime exclusivement vers ksp-core-lib ;
  • aucune dépendance Job, Solana, Transport, Store, Config ou Tauri ;
  • aucun start/stop/restart/reconfigure universel imposé par l'API générique.

Après freeze de cette API, la release publie également l'audit d'acquisition RawTransaction consolidé dans docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md :

  • Store / RawTransaction est le centre du modèle RAW ;
  • Job Backfill historique paramétré et Worker Raw Transaction Ingest live sont deux producteurs indépendants du même Store ;
  • HTTP, WebSocket, Yellowstone gRPC, provider extensions, blocs/slots, discovery + hydration, replay, archives et sources EARLY sont classés par capability et non par rôle ;
  • possibilités documentées, support architectural, implémentation KSP et preuve live sont distingués explicitement ;
  • mainnet devient l'identité KSP canonique, mainnet-beta restant un alias legacy/externe lorsque nécessaire à une frontière provider ;
  • la normalisation RAW v1 commune doit être extraite vers ksp-raw-transaction-lib, sans edge Job ↔ Worker ;
  • le Worker 0.3.10 est live multi-source dès V1 et ne devient pas un moteur de campagne historique ;
  • les extensions Backfill multi-source/multi-stratégie restent réservées à 0.3.12.

La base technique publiée inclut également les baselines compatibles retenues pendant le gate final :

jsonschema = ^0.53
yellowstone-grpc-proto = ^12.7

L'ajout upstream SubscribeGossip de Yellowstone 12.7 est pris en compte uniquement dans les fixtures serveur de test de cette release ; aucune surface Gossip de production n'est ouverte par 0.3.9.

Suite préparée

La session suivante part exclusivement de la base stable :

v0.3.9

et exécute :

prompts/029-V0_3_10_START_PROMPT.md

pour ouvrir :

0.3.10 — normalisation RAW commune + Worker RawTransaction live multi-source

0.3.10-pre.001 doit commencer par l'audit/sizing et le plan détaillé imposés par ce prompt avant toute implémentation lourde.

Gate demandé

La tranche est purement mécanique. Aucun nouveau smoke provider, build Tauri ou graphe de dépendances complet n'est nécessaire : aucune dépendance, feature, source runtime ou configuration n'est modifiée par rel.001.

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.9
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-worker-api
cargo tree -p ksp-worker-api --edges normal
cargo tree -p ksp-worker-api -e features

Après gate propre :

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

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