# Delta 0.3.13-pre.006-fix.001 — correction du canari historique après live block discovery ## Base requise ```text livraison précédente : 0.3.13-pre.006 Cargo base : 0.3.13-pre.6 delta base : deltas/0.3.13/pre.006.md archive delta base : ksp-general-0.3.13-pre.006.zip ``` Le gate opérateur du 10 septembre 2026 sur `pre.006` est vert pour `cargo fmt`, `cargo fmt --check`, les audits Rust/Markdown, `cargo check --workspace`, Clippy strict, les `88` tests unitaires Worker et les `13` tests `dependency_boundary`. Il s'arrête ensuite sur un seul canari de hardening : `pre_010_production_surface_has_no_historical_backfill_or_retriever_contract` détecte la chaîne `Backfill` dans la Rustdoc de la nouvelle source HTTP live block polling. La même vérification interdisait également globalement `Discovery`/`discovery`. Cette hypothèse n'est plus valide depuis `pre.006` : la découverte run-local via `getBlocksWithLimit` est une primitive légitime du live polling et ne constitue ni un retriever historique ni un Backfill. ## Objectif du fix Conserver la séparation Worker/Backfill sans interdire la terminologie de live block discovery introduite par le poller HTTP : ```text Rustdoc HTTP polling : suppression de la mention Backfill canari historique : conserve les interdictions retriever/backfill/checkpoint/historical mais ne classe plus Discovery/discovery comme marqueur historique ``` Aucune logique de polling, cadence, Transport, admission, Store, processing frontier, provenance, source identity ou API publique n'est modifiée. ## Version ```text livraison : 0.3.13-pre.006-fix.001 workspace.package.version : 0.3.13-pre.6.fix.1 archive : ksp-general-0.3.13-pre.006-fix.001.zip ``` `Cargo.toml` passe de la version de fichier `550` à `551`. ## Fichiers modifiés ```text Cargo.toml crates/ksp-worker-raw-transaction-ingest-lib/src/runtime_resources.rs crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs ``` Versions de fichiers : ```text runtime_resources.rs : 19 -> 20 hardening.rs : 15 -> 16 ``` ## Fichiers ajoutés ```text deltas/0.3.13/pre.006-fix.001.md ``` ## Fichiers supprimés ```text aucun ``` ## Non-claims Ce fix ne modifie aucune dépendance et n'ajoute aucune source. Il ne change ni la borne de run, ni `getSlot`, ni `getBlocksWithLimit`, ni `getBlock observed`, ni les règles Legacy/V0/V1, ni la sémantique `block:null`. ## Validation dans l'environnement d'assemblage Le toolchain Rust/Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Les commandes Cargo post-fix restent donc `NON EXÉCUTÉ LOCAL`. Les audits statiques KSP et le contrôle exhaustif du delta sont exécutés avant packaging. ## Gate opérateur requis avant pre.007 ```bash 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-worker-raw-transaction-ingest-lib ``` ## Résultats statiques finaux de l'assemblage ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean Markdown table audit: clean (340 tables, 840 files) Normative rule definitions: 489 Unique normative IDs: 489 Duplicates: 0 ``` Contrôle ciblé de la surface production Worker : ```text ksp-worker-raw-retriever : 0 raw_transaction_retriever : 0 RawTransactionRetriever : 0 Backfill/backfill : 0 Checkpoint/checkpoint : 0 historical : 0 ``` `Discovery`/`discovery` n'est plus un marqueur interdit global : `pre.006` l'emploie pour la découverte live run-local de slots/blocs par `getBlocksWithLimit`.