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
RawPayloadavec 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
transactionau port Store en modeNormal; - 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
RawTransactiontypé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.