165 lines
5.2 KiB
Markdown
165 lines
5.2 KiB
Markdown
<!-- file: deltas/0.3.11/pre.002.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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é.
|