v0.3.11-pre.002
This commit is contained in:
164
deltas/0.3.11/pre.002.md
Normal file
164
deltas/0.3.11/pre.002.md
Normal file
@@ -0,0 +1,164 @@
|
||||
<!-- 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é.
|
||||
Reference in New Issue
Block a user