Files
khadhroony-solana-project/deltas/0.3.10/rel.001.md
2026-09-08 08:17:31 +02:00

185 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.3.10/rel.001.md -->
<!-- version: 1 -->
# Delta `0.3.10-rel.001` — publication stable
## Base requise
Base directe attendue :
```text
0.3.10-pre.009
workspace.package.version = 0.3.10-pre.9
```
Le gate minimal opérateur de `pre.009`, exécuté le **8 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), 771 file(s))
cargo check --workspace: PASS
```
Les couloirs de fermeture antérieurs sont déjà fermés :
- `pre.007` : gate technique final sur `0.3.10-pre.7`, avec audits Rust/Markdown, `cargo check`, Clippy workspace/all-targets/all-features `-D warnings`, workspace tests complets, suites common/Transport/Backfill et graphes Cargo propres ;
- `pre.008` puis `pre.008-fix.001` : réconciliation documentaire finale, terminologie Store `D1 RAW -> D2 STRUCTURAL -> D3 DECODED -> D4 DOMAIN`, réservation de `N1N4` aux niveaux architecturaux et documentation durable de `ksp-raw-transaction-lib` ;
- `pre.009` : préparation minimale de publication avec `CHANGELOG.md`, `ROADMAP.md` et `prompts/030-V0_3_11_START_PROMPT.md`.
## Objet
Publier mécaniquement la version stable :
```text
0.3.10
```
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
504 -> 505
```
La version workspace devient :
```text
0.3.10-pre.9 -> 0.3.10
```
Aucune autre ligne du `Cargo.toml` racine n'est modifiée.
## Fichiers ajoutés
```text
deltas/0.3.10/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/030-V0_3_11_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.10` stabilise `ksp-raw-transaction-lib` comme lower-layer D1 RAW source-neutral commune aux producteurs `RawTransaction` :
- canonicalisation RAW v1 commune extraite du Backfill sans changement des golden bytes/hash ;
- construction de `RawTransaction` et `RawTransactionObservation` via les modèles backend-neutral de `ksp-store-api` ;
- identité canonique `(network, signature)` et observations producteur séparées ;
- wire Solana source-neutral Legacy/V0/V1, sérialisation Base64 et extraction de signature depuis le matériau transactionnel complet ;
- dépendances volontairement limitées, sans Transport, Config, runtime async, Job, Worker, `ksp-store-lib` ni backend Store physique ;
- migration de `ksp-job-backfill-lib` vers la common crate sans edge Job vers Worker.
La release stabilise aussi la qualification cross-source préparatoire au futur Worker :
- `ksp-onchain-transport-lib::get_block_observed` conserve l'identité sûre de la route HTTP réellement gagnante ;
- `blockSubscribe` standard `full/base64` est qualifié comme RAW-direct sur le sous-ensemble déterministe prouvé ;
- Helius `transactionSubscribe` reste un signal nécessitant hydration HTTP lorsque les métadonnées indispensables manquent ;
- Yellowstone Transaction V1 qualifie le wire source-neutral ; Transaction nécessite hydration HTTP pour le `block_time` ;
- Yellowstone Block conserve le `block_time`, mais le RAW complet reste conservateur tant que la meta protobuf n'est pas prouvée byte-identical à la meta JSON HTTP ;
- aucun RAW-direct Yellowstone complet ni feed EARLY n'est revendiqué sans preuve.
La nomenclature durable des couches Store est désormais :
```text
D1 RAW
D2 STRUCTURAL
D3 DECODED
D4 DOMAIN
```
`N1N4` restent réservés aux niveaux architecturaux. Le terme `CORE` n'est plus le nom de la couche Store D2 ; `ksp-core-lib` et les usages réellement liés au Core fondamental restent inchangés.
Le runtime Worker concret est volontairement hors de `0.3.10`. La trajectoire stabilisée devient :
```text
0.3.11 fondation runtime/persistence déterministe du Worker RawTransaction ingest
0.3.12 Yellowstone + hydration HTTP + continuité
0.3.13 WS standard / Helius / HTTP live + convergence multi-source
0.3.14 gap repair / hardening / smokes provider accessibles
0.3.15 ksp-app-raw-transaction-ingest-desk
0.3.16 Backfill multi-source / multi-stratégie
```
Le Job Backfill historique paramétré et le Worker Ingest continu restent deux producteurs indépendants du même Store.
## Suite préparée
La session suivante part exclusivement de la base stable :
```text
v0.3.10
```
et exécute :
```text
prompts/030-V0_3_11_START_PROMPT.md
```
pour ouvrir :
```text
0.3.11 — fondation runtime du Worker RawTransaction ingest
```
`0.3.11-pre.001` doit commencer par lecture, audit, brainstorming, sizing et planification avant toute implémentation lourde. Si le périmètre n'est pas clôturable dans une seule session ou si une tranche dépasse le budget prévu, la release doit être rescindée avant le développement lourd.
## 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.10
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-raw-transaction-lib
cargo test -p ksp-job-backfill-lib
cargo tree -p ksp-raw-transaction-lib --edges normal
cargo tree -p ksp-job-backfill-lib --edges normal
```
Après gate propre :
```text
commit : v0.3.10-rel.001
tag : v0.3.10
```
Aucun tag de prerelease ou `rel.001` n'est requis.