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

3.6 KiB

Delta 0.3.16-pre.007-fix.003 — réalignement du canari de bornes globales Worker

Base requise

0.3.16-pre.007-fix.002 appliqué
workspace.package.version = 0.3.16-pre.7.fix.2

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

Le canari historique exigeait encore le symbole RawTransactionIngestCanonicalState. Ce type appartenait à l'ancien cache run-local qui conservait une représentation canonique et pouvait participer à l'arbitrage avant Store. pre.007 a volontairement supprimé cette responsabilité : le cache courant RawTransactionIngestPersistenceConvergence est borné et ne fait que sérialiser les acquisitions partageant (network, signature) ; chaque acquisition atteint ensuite le Store, qui reste l'unique autorité durable.

Version

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

Correction

Le canari de bornes/fairness conserve son objectif historique et vérifie désormais le contrat courant :

  • les budgets d'hydratation restent bornés par les settings Worker ;
  • les permits restent portés par tokio::sync::Semaphore ;
  • le leader d'hydratation reste privé au Worker ;
  • la convergence de persistence est représentée par RawTransactionIngestPersistenceConvergence ;
  • content_conflict_error() reste le chemin de compatibilité pour un backend legacy ;
  • aucune dépendance backend/transport physique interdite n'est introduite.

Aucune logique runtime n'est modifiée.

Fichiers modifiés

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

Fichier ajouté

deltas/0.3.16/pre.007-fix.003.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

  • aucun type canonique run-local n'est réintroduit pour satisfaire un canari historique ;
  • le test continue de prouver la boundedness/fairness via le cache de sérialisation réellement utilisé depuis pre.007 ;
  • le nom du test historique reste stable afin de ne pas casser les canaris de release completeness ;
  • aucun code runtime ni fichier de migration n'est modifié.

Questions ouvertes

Aucune question bloquante.

Suite

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