Files
khadhroony-solana-project/deltas/0.3.10/pre.001.md
2026-09-06 09:05:33 +02:00

264 lines
8.5 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/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
```