# Delta `0.3.11-pre.002` — squelette Worker RAW + dependency firewall ## Base requise ```text 0.3.11-pre.001 workspace.package.version = 0.3.11-pre.1 ``` Le gate opérateur communiqué pour `pre.001` est vert sur `cargo fmt --all`, les audits Rust/Markdown, `cargo check --workspace` et Clippy workspace strict `--all-targets --all-features -- -D warnings`. Aucun `cargo test` supplémentaire n'a été communiqué pour ce gate et aucun n'est inventé. ## Objectif Créer uniquement le squelette de `ksp-worker-raw-transaction-ingest-lib`, l'inscrire au workspace et verrouiller son graphe de dépendances. Aucun settings, identity, `start`, task, channel, Store write, canonicalisation ou snapshot runtime n'est matérialisé dans cette tranche. ## Version Cette tranche est une prerelease non-fix : ```text workspace.package.version = 0.3.11-pre.2 ``` Le `Cargo.toml` racine passe du header `506` au header `507` et le workspace passe de 20 à 21 membres. ## Graphe de production exact ```text ksp-worker-raw-transaction-ingest-lib -> ksp-core-lib -> ksp-logging-lib -> ksp-raw-transaction-lib -> ksp-store-lib default-features=false -> ksp-worker-api -> sha2 -> tokio features=macros,rt,sync,time ``` Ces edges matérialisent uniquement la frontière décidée en `pre.001`. Le code runtime qui les consommera reste réservé à ses tranches dédiées. ## Firewall explicite Absents du manifest de production : ```text futures-util ksp-config-lib ksp-interface-lib ksp-job-api ksp-job-backfill-lib ksp-onchain-transport-lib ksp-program-api ksp-store-api direct ksp-store-postgres-lib ksp-wallet-lib reqwest Solana protocol SDK direct tokio-tungstenite tonic yellowstone-grpc-proto ``` Il n'existe ni `[dev-dependencies]`, ni `[build-dependencies]` dans cette tranche. ## Crate-root volontairement vide de comportement `src/lib.rs` contient uniquement les lints workspace et la rustdoc de responsabilité. Il n'expose encore : ```text aucun pub mod aucun type public aucune fonction publique aucun start/spawn aucun appel Tokio aucun appel Store/common RAW/Worker API ``` Le test externe `dependency_boundary.rs` verrouille le manifest exact, les edges interdits et l'absence de comportement runtime prématuré au crate-root. ## Documentation volontairement différée `README.md` et `USAGE.md` ne sont pas créés à ce stade car la crate ne possède encore aucune API consommable. Leur réconciliation version-neutral reste réservée à `pre.012`, après freeze de la fondation runtime. ## Fichiers ajoutés ```text crates/ksp-worker-raw-transaction-ingest-lib/Cargo.toml crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs crates/ksp-worker-raw-transaction-ingest-lib/tests/dependency_boundary.rs deltas/0.3.11/pre.002.md ``` ## Fichiers modifiés ```text Cargo.toml docs/plans/032-V0_3_11_RAW_TRANSACTION_INGEST_WORKER_FOUNDATION_PLAN.md docs/validation/028-V0_3_11_RAW_TRANSACTION_INGEST_WORKER_FOUNDATION.md ``` ## Fichiers supprimés Aucun. ## Validations exécutées dans l'environnement d'assemblage ```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 (340 table(s), 776 file(s)) contrôle TOML/statique : workspace 0.3.11-pre.2, 21 membres, manifest Worker exact, Store sans default features, Tokio macros/rt/sync/time comparaison byte-à-byte avec pre.001 : 4 fichiers ajoutés, 3 modifiés, 0 supprimé ``` L'environnement d'assemblage ne fournit ni `cargo`, ni `rustc`, ni `rustfmt`. Aucun gate Cargo n'est déclaré PASS localement. ## Gate opérateur demandé ```bash cargo fmt --all 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 cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features ``` ## Validations non exécutées localement ```text cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-worker-raw-transaction-ingest-lib cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features ``` ## Décisions conservées ```text aucune source live dans 0.3.11 aucun Transport productif avant 0.3.12 Store uniquement via ksp-store-lib default-features=false aucun backend Store direct aucun Job/Backfill/Config dans le Worker futures-util absent tant qu'un usage réel n'est pas démontré Tokio direct parce que le Worker concret possédera ses tâches runtime aucune API publique avant la tranche qui en possède le contrat ``` ## Suite Après gate opérateur vert, `pre.003` introduit uniquement l'identité Worker concrète et `RawTransactionIngestSettings` avec defaults, bornes et validation. Aucun spawn n'y est autorisé.