v0.3.10-pre.001

This commit is contained in:
2026-09-06 09:05:33 +02:00
parent c9047af626
commit 6b434750c5
4 changed files with 1807 additions and 2 deletions

263
deltas/0.3.10/pre.001.md Normal file
View File

@@ -0,0 +1,263 @@
<!-- file: deltas/0.3.10/pre.001.md -->
<!-- version: 1 -->
# 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`. Larchive 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` nest pas installé dans lenvironnement dassemblage. Aucun gate Cargo local nest déclaré PASS. Le journal opérateur stable `0.3.9` reste une preuve externe distincte.
## Objectif
Exécuter le gate douverture `0.3.10-pre.001` demandé par le prompt `029` : vérifier intégralement la base `v0.3.9`, auditer lextraction 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 limplé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 nest 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 lexige
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 dalignement 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 daudit, 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 lenvironnement dassemblage courant (`cargo` absent). Elles restent donc explicitement `NON EXÉCUTÉES LOCALEMENT` pour ce delta ; aucune preuve opérateur antérieure nest 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 dassemblage et aucune credential/provider live nest injectée. Les preuves stables fournies par lopé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 dun profil/rôle Transport supplémentaire pour un smoke accessible
admission dune 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
```