Files
khadhroony-solana-project/deltas/0.3.16/pre.007-fix.002.md

3.6 KiB

Delta 0.3.16-pre.007-fix.002 — réalignement du canari cross-layer Worker/Common RAW/Store

Base requise

0.3.16-pre.007-fix.001 appliqué
workspace.package.version = 0.3.16-pre.7.fix.1

Le gate opérateur de pre.007-fix.001 confirme que cargo check --workspace, Clippy et les suites Store API, Store façade, PostgreSQL, Backfill ainsi que les 162 tests unitaires Worker passent. Le seul échec restant est v0_3_13_pre_012_legacy_v0_v1_is_proven_from_transport_through_worker_common_raw_to_store dans cross_layer_completeness.

Le canari historique cherchait littéralement les chaînes block_time, content_hash, format_id, format_version et slot dans worker/src/persistence.rs. Depuis pre.007, le Worker ne reconstruit plus le contenu canonique champ par champ : il reçoit une RawTransactionAcquisition, extrait la RawTransaction typée avec into_parts() et la transmet telle quelle au Store. L'absence de ces noms de champs dans persistence.rs n'est donc pas une perte de données.

Version

workspace.package.version = 0.3.16-pre.7.fix.2

Correction

Le canari conserve son objectif de preuve cross-layer mais vérifie désormais les véritables frontières de propriété :

  • Common RAW assemble toujours RawPayload avec le format, la version et le hash ;
  • Common RAW construit toujours RawTransaction::new(reference, material.slot, block_time, payload) ;
  • le Worker extrait (transaction, observation) depuis l'acquisition sans reconstruction locale ;
  • le Worker transmet directement cette transaction au port Store en mode Normal ;
  • les canaris existants Store API et façade continuent de vérifier la disponibilité et le dispatch du contrat.

Aucune logique runtime n'est modifiée.

Fichiers modifiés

Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/tests/cross_layer_completeness.rs

Fichier ajouté

deltas/0.3.16/pre.007-fix.002.md

Fichiers supprimés

aucun

Validations exécutées lors de la génération

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

Le toolchain Rust n'est pas installé dans l'environnement de génération. cargo fmt, cargo check, Clippy et les tests Cargo ne sont donc pas déclarés exécutés ici.

Validations opérateur demandées

cargo fmt --all
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
cargo clippy --workspace --all-targets --all-features -- -D warnings

cargo test -p ksp-store-api --all-targets --all-features
cargo test -p ksp-store-lib --all-targets --all-features
cargo test -p ksp-store-postgres-lib --all-targets --all-features
cargo test -p ksp-job-backfill-lib --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features

Décisions prises

  • aucune reconstruction champ par champ n'est réintroduite dans le Worker uniquement pour satisfaire un canari textuel ;
  • la preuve est déplacée vers les frontières où les données sont réellement assemblées et transmises ;
  • la RawTransaction typée reste l'unité de passage Common RAW → Worker persistence → Store ;
  • aucun fichier de migration ni aucun code runtime n'est modifié.

Questions ouvertes

Aucune question bloquante.

Suite

Après gate propre : 0.3.16-pre.008.