v0.3.10-pre.006-fix.002
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 500
|
# version: 501
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-raw-transaction-lib", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib", "crates/ksp-worker-api"]
|
members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-raw-transaction-lib", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib", "crates/ksp-worker-api"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.10-pre.6.fix.1"
|
version = "0.3.10-pre.6.fix.2"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
// file: crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs
|
// file: crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs
|
||||||
// version: 2
|
// version: 3
|
||||||
|
|
||||||
|
//! Deterministic local Yellowstone gRPC parity canary for source-neutral RAW transaction v1 projection.
|
||||||
|
|
||||||
struct FixtureStream<T> {
|
struct FixtureStream<T> {
|
||||||
receiver: tokio::sync::mpsc::Receiver<T>,
|
receiver: tokio::sync::mpsc::Receiver<T>,
|
||||||
|
|||||||
118
deltas/0.3.10/pre.006-fix.002.md
Normal file
118
deltas/0.3.10/pre.006-fix.002.md
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
<!-- file: deltas/0.3.10/pre.006-fix.002.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta `0.3.10-pre.006-fix.002` — rustdoc Yellowstone + réconciliation architecture/prompt handoff
|
||||||
|
|
||||||
|
## 1. Base requise
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.3.10-pre.006-fix.001 appliquée
|
||||||
|
workspace.package.version = 0.3.10-pre.6.fix.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Le gate opérateur du 7 septembre 2026 confirme que les erreurs Rust corrigées par `fix.001` ont disparu. Le seul blocage restant sous Clippy strict est le lint crate-level `missing_docs` de `crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs`.
|
||||||
|
|
||||||
|
## 2. Version technique
|
||||||
|
|
||||||
|
Le correctif modifie un test Rust compilé. Conformément à `VER-ID-007` / `VER-ID-010` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
workspace.package.version = 0.3.10-pre.6.fix.2
|
||||||
|
commit attendu = v0.3.10-pre.006-fix.002
|
||||||
|
aucun tag prerelease
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucune version npm/Tauri n'est modifiée : aucune application Desk n'est touchée.
|
||||||
|
|
||||||
|
## 3. Correction Rust
|
||||||
|
|
||||||
|
`tests/yellowstone_raw_parity.rs` reçoit la rustdoc crate-level manquante :
|
||||||
|
|
||||||
|
```text
|
||||||
|
//! Deterministic local Yellowstone gRPC parity canary for source-neutral RAW transaction v1 projection.
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucun `#[allow(missing_docs)]` n'est ajouté. Le serveur fixture, la projection Yellowstone, les goldens, les assertions et les dépendances restent inchangés.
|
||||||
|
|
||||||
|
## 4. Inventaire des composants
|
||||||
|
|
||||||
|
`docs/architecture/004-COMPONENT_INVENTORY.md` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
+ ksp-raw-transaction-lib comme common RAW Transaction implémentée en 0.3.10
|
||||||
|
CORE processor -> STRUCTURAL job
|
||||||
|
CORE worker -> STRUCTURAL worker
|
||||||
|
```
|
||||||
|
|
||||||
|
Le Job STRUCTURAL représente le traitement borné/rejouable RAW -> CORE ; le Worker STRUCTURAL représente le service continu backlog RAW -> CORE. Les références durables correspondantes dans `009-ACQUISITION_WORKERS_AND_JOBS.md`, `010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md` et la séquence fonctionnelle active sont synchronisées. Les noms/packagings concrets restent à fixer lors de l'ouverture de la couche CORE.
|
||||||
|
|
||||||
|
## 5. Graphe de dépendances
|
||||||
|
|
||||||
|
`docs/architecture/005-DEPENDENCY_GRAPH.md` matérialise la lower layer réelle :
|
||||||
|
|
||||||
|
```text
|
||||||
|
ksp-raw-transaction-lib
|
||||||
|
-> ksp-store-api
|
||||||
|
-> ksp-core-lib
|
||||||
|
-> base64 / serde_json / sha2
|
||||||
|
|
||||||
|
-X-> Transport
|
||||||
|
-X-> ksp-store-lib
|
||||||
|
-X-> Job / Worker
|
||||||
|
-X-> Config / runtime async / backend Store
|
||||||
|
```
|
||||||
|
|
||||||
|
Le graphe Backfill ajoute son edge réel vers `ksp-raw-transaction-lib`, et le graphe du futur Worker réserve la même common crate avant la persistence par `ksp-store-lib`.
|
||||||
|
|
||||||
|
## 6. Note de génération des prompts `0.3.12` à `0.3.15`
|
||||||
|
|
||||||
|
Le plan `031` n'introduit pas quatre prompts prématurés. Il fixe un handoff séquentiel :
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.3.11 ferme -> génère le prompt 0.3.12
|
||||||
|
0.3.12 ferme -> génère le prompt 0.3.13
|
||||||
|
0.3.13 ferme -> génère le prompt 0.3.14
|
||||||
|
0.3.14 ferme -> génère le prompt 0.3.15
|
||||||
|
```
|
||||||
|
|
||||||
|
Chaque prompt doit partir de la base stable réellement obtenue, refaire son audit/sizing `pre.001`, rester sous le budget 15–20 min par tranche et rescinder sa release si la clôture dans une session devient incertaine. La note transfère les missions Yellowstone, WS/Helius/HTTP, gap repair/hardening puis Desk sans les figer comme vérité future.
|
||||||
|
|
||||||
|
Le plan corrige aussi l'ancienne référence résiduelle de la Desk `0.3.11` vers sa cible recalibrée `0.3.15`.
|
||||||
|
|
||||||
|
## 7. Validation opérateur requise
|
||||||
|
|
||||||
|
```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-raw-transaction-lib
|
||||||
|
cargo test -p ksp-onchain-transport-lib
|
||||||
|
cargo test -p ksp-job-backfill-lib
|
||||||
|
|
||||||
|
cargo tree -p ksp-job-backfill-lib --edges normal
|
||||||
|
cargo tree -p ksp-job-backfill-lib --edges dev
|
||||||
|
cargo tree -p ksp-job-backfill-lib -e features
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucune commande ne doit être déclarée PASS avant exécution réelle. Si ce gate est vert, `pre.006-fix.002` ferme le défaut technique restant de `pre.006` et `pre.007` peut rester le gate technique final recalibré de `0.3.10`.
|
||||||
|
|
||||||
|
## 8. Périmètre du delta
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.toml
|
||||||
|
crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs
|
||||||
|
docs/architecture/004-COMPONENT_INVENTORY.md
|
||||||
|
docs/architecture/005-DEPENDENCY_GRAPH.md
|
||||||
|
docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md
|
||||||
|
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md
|
||||||
|
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
||||||
|
docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md
|
||||||
|
docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md
|
||||||
|
deltas/0.3.10/pre.006-fix.002.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucun code de production, manifest de crate, dépendance, feature, golden RAW, Config, Store schema, frontend ou application n'est modifié.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/architecture/004-COMPONENT_INVENTORY.md -->
|
<!-- file: docs/architecture/004-COMPONENT_INVENTORY.md -->
|
||||||
<!-- version: 35 -->
|
<!-- version: 36 -->
|
||||||
|
|
||||||
# Inventaire initial des composants KSP
|
# Inventaire initial des composants KSP
|
||||||
|
|
||||||
@@ -18,45 +18,46 @@ Ce document maintient l'inventaire synthétique des composants retenus ou presse
|
|||||||
|
|
||||||
## Inventaire synthétique
|
## Inventaire synthétique
|
||||||
|
|
||||||
| Domaine | Composant | Type | Statut | Première cible actuelle | Mission |
|
| Domaine | Composant | Type | Statut | Première cible actuelle | Mission |
|
||||||
|-------------------------|-----------------------------------------|---------------|--------------|---------------------------------|---------------------------------------------------------------------------------------------|
|
|-------------------------|-----------------------------------------|-------------|--------------|---------------------------------|---------------------------------------------------------------------------------------------|
|
||||||
| Core | `ksp-core-lib` | lib | Stable | `0.1.1` | Error/Result, Program IDs et primitives fondamentales |
|
| Core | `ksp-core-lib` | lib | Stable | `0.1.1` | Error/Result, Program IDs et primitives fondamentales |
|
||||||
| Logging | `ksp-logging-lib` | lib | Stable | `0.1.2` | façade unique tracing KSP |
|
| Logging | `ksp-logging-lib` | lib | Stable | `0.1.2` | façade unique tracing KSP |
|
||||||
| Config | `ksp-config-lib` | lib | Stable | `0.1.3` | documents, profils, env et persistence Config |
|
| Config | `ksp-config-lib` | lib | Stable | `0.1.3` | documents, profils, env et persistence Config |
|
||||||
| Config Desk | `ksp-app-config-desk` | app | Stable | `0.1.4` | validation/management Config |
|
| Config Desk | `ksp-app-config-desk` | app | Stable | `0.1.4` | validation/management Config |
|
||||||
| On-chain HTTP | `ksp-onchain-transport-lib` | lib | Stable | `0.2.1`–`0.2.4` | HTTP standard complet : 52/52 current + 14/14 historical |
|
| On-chain HTTP | `ksp-onchain-transport-lib` | lib | Stable | `0.2.1`–`0.2.4` | HTTP standard complet : 52/52 current + 14/14 historical |
|
||||||
| Wallet | `ksp-wallet-lib` | lib | Stable | `0.2.5` | `.kspwallet`, VIEW/OWNER, secrets, signature, import/export |
|
| Wallet | `ksp-wallet-lib` | lib | Stable | `0.2.5` | `.kspwallet`, VIEW/OWNER, secrets, signature, import/export |
|
||||||
| Wallet Desk | `ksp-app-wallet-desk` | app | Stable | `0.2.6` | Wallet + Config + balance HTTP + projection SOL/USD auxiliaire |
|
| Wallet Desk | `ksp-app-wallet-desk` | app | Stable | `0.2.6` | Wallet + Config + balance HTTP + projection SOL/USD auxiliaire |
|
||||||
| Wallet V2 | `ksp-wallet-lib` | lib | Stable | `0.2.6` | wire/runtime V2 + API default/versionnée + migration explicite |
|
| Wallet V2 | `ksp-wallet-lib` | lib | Stable | `0.2.6` | wire/runtime V2 + API default/versionnée + migration explicite |
|
||||||
| Standard WS | `ksp-onchain-transport-lib` | lib | Stable | `0.2.7` | WebSocket Solana 18/18, sessions/subscriptions bornées |
|
| Standard WS | `ksp-onchain-transport-lib` | lib | Stable | `0.2.7` | WebSocket Solana 18/18, sessions/subscriptions bornées |
|
||||||
| Helius WS | `ksp-onchain-transport-lib` | lib | Stable | `0.2.8` | LaserStream WS : 7 standard + transaction, actor partagé |
|
| Helius WS | `ksp-onchain-transport-lib` | lib | Stable | `0.2.8` | LaserStream WS : 7 standard + transaction, actor partagé |
|
||||||
| Yellowstone | `ksp-onchain-transport-lib` | lib | Stable | `0.2.9` | client gRPC standard/provider-neutral |
|
| Yellowstone | `ksp-onchain-transport-lib` | lib | Stable | `0.2.9` | client gRPC standard/provider-neutral |
|
||||||
| Off-chain price | `ksp-offchain-transport-lib` | lib | Stable | `0.2.11` | prix SOL/USD multi-provider, limits et availability |
|
| Off-chain price | `ksp-offchain-transport-lib` | lib | Stable | `0.2.11` | prix SOL/USD multi-provider, limits et availability |
|
||||||
| SOL Prices Desk | `ksp-app-solprices-desk` | app | Stable | `0.2.12` | HID provider-agnostic pour visualisation/refresh prix |
|
| SOL Prices Desk | `ksp-app-solprices-desk` | app | Stable | `0.2.12` | HID provider-agnostic pour visualisation/refresh prix |
|
||||||
| Interface passive | `ksp-interface-lib` | lib | Stable | `0.2.13` | façade wire + contrats passifs partagés, dont événements acquisition provider-neutral |
|
| Interface passive | `ksp-interface-lib` | lib | Stable | `0.2.13` | façade wire + contrats passifs partagés, dont événements acquisition provider-neutral |
|
||||||
| Program API | `ksp-program-api` | API | Stable | `0.2.14` | contrats extensibles Program |
|
| Program API | `ksp-program-api` | API | Stable | `0.2.14` | contrats extensibles Program |
|
||||||
| Program impl. | `ksp-program-lib` | lib | Retenu | vertical slices ultérieurs | implementations Program officielles |
|
| Program impl. | `ksp-program-lib` | lib | Retenu | vertical slices ultérieurs | implementations Program officielles |
|
||||||
| Program extension | `ksp-program-<name>-lib` | lib externe | À la demande | dès besoin | implementation externe de `ksp-program-api` |
|
| Program extension | `ksp-program-<name>-lib` | lib externe | À la demande | dès besoin | implementation externe de `ksp-program-api` |
|
||||||
| Store API | `ksp-store-api` | API | Stable | `0.3.1` | RAW transaction/account, observations, queries, outcomes, rétention et capabilities backend |
|
| Store API | `ksp-store-api` | API | Stable | `0.3.1` | RAW transaction/account, observations, queries, outcomes, rétention et capabilities backend |
|
||||||
| Store runtime | `ksp-store-lib` | lib | Stable | `0.3.2`–`0.3.4` | façade backend-neutral et conformance RAW 10/10 |
|
| Store runtime | `ksp-store-lib` | lib | Stable | `0.3.2`–`0.3.4` | façade backend-neutral et conformance RAW 10/10 |
|
||||||
| Store PostgreSQL | `ksp-store-postgres-lib` | lib | Stable | `0.3.2`–`0.3.4` | backend référence : fondation, RawTransaction et RawAccountState |
|
| Store PostgreSQL | `ksp-store-postgres-lib` | lib | Stable | `0.3.2`–`0.3.4` | backend référence : fondation, RawTransaction et RawAccountState |
|
||||||
| Job lifecycle | `ksp-job-api` | API | Implémenté | `0.3.6` | identité/lifecycle/annulation/notifications latest-value runtime-neutral |
|
| Job lifecycle | `ksp-job-api` | API | Implémenté | `0.3.6` | identité/lifecycle/annulation/notifications latest-value runtime-neutral |
|
||||||
| Backfill | `ksp-job-backfill-lib` | lib | Implémenté | `0.3.6`, extension `0.3.16` | première verticale HTTP puis extension multi-source/historique sans changer l’identité RAW |
|
| Backfill | `ksp-job-backfill-lib` | lib | Implémenté | `0.3.6`, extension `0.3.16` | première verticale HTTP puis extension multi-source/historique sans changer l’identité RAW |
|
||||||
| Backfill Desk | `ksp-app-backfill-desk` | app | Implémenté | `0.3.7`, extension `0.3.16` | contrôle du backfill RAW ; sélection des stratégies/sources ajoutée après le worker live |
|
| Backfill Desk | `ksp-app-backfill-desk` | app | Implémenté | `0.3.7`, extension `0.3.16` | contrôle du backfill RAW ; sélection des stratégies/sources ajoutée après le worker live |
|
||||||
| Store Desk | `ksp-app-store-desk` | app | Implémenté | `0.3.8` | inspection RAW read-only Transaction/Account/Observation via façade Store |
|
| Store Desk | `ksp-app-store-desk` | app | Implémenté | `0.3.8` | inspection RAW read-only Transaction/Account/Observation via façade Store |
|
||||||
| Worker lifecycle | `ksp-worker-api` | API | Retenu | `0.3.9` | lifecycle/health/progression génériques des services continus |
|
| RAW transaction common | `ksp-raw-transaction-lib` | lib | Implémenté | `0.3.10` | canonicalisation/wire RAW Transaction v1 source-neutral partagé entre producteurs |
|
||||||
| RAW transaction worker | `ksp-worker-raw-transaction-ingest-lib` | worker/lib | Retenu | `0.3.11`–`0.3.14` | ingestion continue `RawTransaction` multi-source, déduplication/provenance/recovery |
|
| Worker lifecycle | `ksp-worker-api` | API | Retenu | `0.3.9` | lifecycle/health/progression génériques des services continus |
|
||||||
| RAW ingest Desk | `ksp-app-raw-transaction-ingest-desk` | app | Retenu | `0.3.15` | choix/supervision d’une ou plusieurs sources/méthodes sans réimplémenter le worker |
|
| RAW transaction worker | `ksp-worker-raw-transaction-ingest-lib` | worker/lib | Retenu | `0.3.11`–`0.3.14` | ingestion continue `RawTransaction` multi-source, déduplication/provenance/recovery |
|
||||||
| CORE processor | nom à fixer | processor/lib | Retenu | couche CORE | normalisation Solana générique RAW -> CORE |
|
| RAW ingest Desk | `ksp-app-raw-transaction-ingest-desk` | app | Retenu | `0.3.15` | choix/supervision d’une ou plusieurs sources/méthodes sans réimplémenter le worker |
|
||||||
| CORE worker | nom à fixer | worker | Retenu | fin couche CORE | backlog RAW -> CORE continu |
|
| STRUCTURAL job | nom à fixer | job/lib | Retenu | couche CORE | normalisation Solana générique RAW -> CORE bornée/rejouable |
|
||||||
| Materializer API | `ksp-materializer-api` | API | Retenu | premier groupe DECODE | contrats extensibles matérialisation |
|
| STRUCTURAL worker | nom à fixer | worker/lib | Retenu | fin couche CORE | backlog RAW -> CORE continu |
|
||||||
| Materializer impl. | `ksp-materializer-lib` | lib | Retenu | premier groupe DECODE | implementations officielles communes |
|
| Materializer API | `ksp-materializer-api` | API | Retenu | premier groupe DECODE | contrats extensibles matérialisation |
|
||||||
| Execution policy | `ksp-execution-policy-api` | API | Retenu | premier vrai besoin execution | décision/safety multi-contexte |
|
| Materializer impl. | `ksp-materializer-lib` | lib | Retenu | premier groupe DECODE | implementations officielles communes |
|
||||||
| Execution orchestration | `ksp-execution-lib` | lib | Retenu | premier vrai cycle execution | Program + policy + Wallet + transport |
|
| Execution policy | `ksp-execution-policy-api` | API | Retenu | premier vrai besoin execution | décision/safety multi-contexte |
|
||||||
| Scenarios | `ksp-scenario-<domain>-lib` | lib | Retenu | vertical slices | validation métier/devnet par groupe |
|
| Execution orchestration | `ksp-execution-lib` | lib | Retenu | premier vrai cycle execution | Program + policy + Wallet + transport |
|
||||||
| Scenario API | `ksp-scenario-api` | API | Non retenu | — | norme souple avant trait commun |
|
| Scenarios | `ksp-scenario-<domain>-lib` | lib | Retenu | vertical slices | validation métier/devnet par groupe |
|
||||||
| Market Desk | `ksp-app-market-desk` | app | Pressenti | après Meteora/Raydium/Pump/Orca | tokens, pools, trades, liquidity, price, OHLC |
|
| Scenario API | `ksp-scenario-api` | API | Non retenu | — | norme souple avant trait commun |
|
||||||
| Trading Intelligence | noms à définir | libs/jobs | Pressenti | après données stables | features/signaux/anomalies/ML |
|
| Market Desk | `ksp-app-market-desk` | app | Pressenti | après Meteora/Raydium/Pump/Orca | tokens, pools, trades, liquidity, price, OHLC |
|
||||||
|
| Trading Intelligence | noms à définir | libs/jobs | Pressenti | après données stables | features/signaux/anomalies/ML |
|
||||||
|
|
||||||
## Contrats séparés retenus
|
## Contrats séparés retenus
|
||||||
|
|
||||||
@@ -114,7 +115,7 @@ RAW -> CORE -> DECODE -> SPECIALIZED
|
|||||||
- DECODE : interpretation Program + matérialisation générique/journal ;
|
- DECODE : interpretation Program + matérialisation générique/journal ;
|
||||||
- SPECIALIZED : projections queryables de domaine.
|
- SPECIALIZED : projections queryables de domaine.
|
||||||
|
|
||||||
## Progression des processors
|
## Progression structurelle
|
||||||
|
|
||||||
RAW et CORE sont complétés couche par couche avec jobs/workers/apps utiles.
|
RAW et CORE sont complétés couche par couche avec jobs/workers/apps utiles.
|
||||||
|
|
||||||
@@ -154,5 +155,5 @@ Market Desk est progressive : V1 après les DEX prioritaires, puis enrichissemen
|
|||||||
|
|
||||||
- nécessité future d'un pool automatique WS ;
|
- nécessité future d'un pool automatique WS ;
|
||||||
- types exacts `ksp-materializer-api` lors de l'ouverture DECODE ;
|
- types exacts `ksp-materializer-api` lors de l'ouverture DECODE ;
|
||||||
- nom/packaging précis du premier RAW worker et du CORE normalizer ;
|
- nom/packaging précis des futurs STRUCTURAL job et STRUCTURAL worker ;
|
||||||
- granularité des workers DECODE/SPECIALIZED par groupe.
|
- granularité des workers DECODE/SPECIALIZED par groupe.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/architecture/005-DEPENDENCY_GRAPH.md -->
|
<!-- file: docs/architecture/005-DEPENDENCY_GRAPH.md -->
|
||||||
<!-- version: 24 -->
|
<!-- version: 25 -->
|
||||||
|
|
||||||
# Graphe de dépendances KSP
|
# Graphe de dépendances KSP
|
||||||
|
|
||||||
@@ -251,19 +251,47 @@ D1 RAW
|
|||||||
|
|
||||||
### RAW
|
### RAW
|
||||||
|
|
||||||
|
La canonicalisation `RawTransaction` source-neutral est une lower layer explicite, séparée du Transport et de la persistence runtime :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
transport model
|
ksp-raw-transaction-lib
|
||||||
|
-> ksp-store-api
|
||||||
|
-> ksp-core-lib
|
||||||
|
-> base64 / serde_json / sha2
|
||||||
|
```
|
||||||
|
|
||||||
|
Interdictions :
|
||||||
|
|
||||||
|
```text
|
||||||
|
ksp-raw-transaction-lib -X-> ksp-onchain-transport-lib
|
||||||
|
ksp-raw-transaction-lib -X-> ksp-store-lib
|
||||||
|
ksp-raw-transaction-lib -X-> ksp-job-api / ksp-job-backfill-lib
|
||||||
|
ksp-raw-transaction-lib -X-> ksp-worker-api / concrete workers
|
||||||
|
ksp-raw-transaction-lib -X-> Config / runtime async / backend Store
|
||||||
|
```
|
||||||
|
|
||||||
|
Le flux de composition devient :
|
||||||
|
|
||||||
|
```text
|
||||||
|
transport model / fixture source-neutral
|
||||||
|
|
|
|
||||||
v
|
v
|
||||||
composition/RAW ingestion
|
producer adapter
|
||||||
|
|
|
|
||||||
v
|
v
|
||||||
ksp-store-api
|
ksp-raw-transaction-lib
|
||||||
|
|
|
||||||
|
+--> RawTransaction + RawTransactionObservation (types ksp-store-api)
|
||||||
|
|
|
||||||
|
v
|
||||||
|
producer concret
|
||||||
|
|
|
|
||||||
v
|
v
|
||||||
ksp-store-lib
|
ksp-store-lib
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Le Job Backfill et le Worker RAW peuvent donc partager exactement la canonicalisation et le wire sans que la common crate possède le runtime, le Transport ou le backend.
|
||||||
|
|
||||||
### CORE
|
### CORE
|
||||||
|
|
||||||
```text
|
```text
|
||||||
@@ -375,9 +403,10 @@ ksp-job-backfill-lib
|
|||||||
-> ksp-core-lib
|
-> ksp-core-lib
|
||||||
-> ksp-logging-lib
|
-> ksp-logging-lib
|
||||||
-> ksp-onchain-transport-lib
|
-> ksp-onchain-transport-lib
|
||||||
|
-> ksp-raw-transaction-lib # canonicalisation/wire RAW v1 partagés
|
||||||
-> ksp-store-lib # default-features = false ; aucun backend imposé
|
-> ksp-store-lib # default-features = false ; aucun backend imposé
|
||||||
-> futures-util / tokio # runtime privé du job, jamais dans ksp-job-api
|
-> futures-util / tokio # runtime privé du job, jamais dans ksp-job-api
|
||||||
-> serde_json / sha2 # canonicalisation RAW v1 et digest
|
-> serde_json / sha2 # usages résiduels propres au job tant qu'ils existent
|
||||||
```
|
```
|
||||||
|
|
||||||
Il remplit RAW et ne décode aucun programme. Il ne dépend pas de Config : la composition supérieure construit explicitement Transport, Store et `BackfillRequest`. Le réseau appartient au scope/à l'identité durable `(network, signature)` ; rôle, provider, endpoint et protocole restent des choix ou provenances d'acquisition et ne deviennent jamais une clé de transaction.
|
Il remplit RAW et ne décode aucun programme. Il ne dépend pas de Config : la composition supérieure construit explicitement Transport, Store et `BackfillRequest`. Le réseau appartient au scope/à l'identité durable `(network, signature)` ; rôle, provider, endpoint et protocole restent des choix ou provenances d'acquisition et ne deviennent jamais une clé de transaction.
|
||||||
@@ -393,6 +422,7 @@ ksp-worker-api
|
|||||||
ksp-worker-raw-transaction-ingest-lib
|
ksp-worker-raw-transaction-ingest-lib
|
||||||
-> ksp-worker-api
|
-> ksp-worker-api
|
||||||
-> ksp-onchain-transport-lib
|
-> ksp-onchain-transport-lib
|
||||||
|
-> ksp-raw-transaction-lib
|
||||||
-> ksp-store-lib
|
-> ksp-store-lib
|
||||||
-> ksp-logging-lib
|
-> ksp-logging-lib
|
||||||
# Config reste possédé par la composition supérieure ; aucune dépendance backend/provider physique
|
# Config reste possédé par la composition supérieure ; aucune dépendance backend/provider physique
|
||||||
@@ -406,7 +436,7 @@ ksp-worker-control-lib
|
|||||||
|
|
||||||
Le worker RAW Transaction n'est pas défini comme « un worker WebSocket » ou « un worker gRPC ». Il reçoit une ou plusieurs stratégies d'acquisition construites au-dessus des façades KSP réellement disponibles ; celles-ci peuvent être alternatives, complémentaires (discovery + hydration), redondantes entre providers ou spécialisées live/catch-up/gap-repair. La transaction canonique reste identifiée indépendamment de la source et chaque acquisition utile conserve sa propre observation/provenance Store.
|
Le worker RAW Transaction n'est pas défini comme « un worker WebSocket » ou « un worker gRPC ». Il reçoit une ou plusieurs stratégies d'acquisition construites au-dessus des façades KSP réellement disponibles ; celles-ci peuvent être alternatives, complémentaires (discovery + hydration), redondantes entre providers ou spécialisées live/catch-up/gap-repair. La transaction canonique reste identifiée indépendamment de la source et chaque acquisition utile conserve sa propre observation/provenance Store.
|
||||||
|
|
||||||
RAW worker et CORE worker sont introduits à la fin de leur couche respective, lorsque persistence/backlog sont disponibles. Les workers DECODE/SPECIALIZED sont introduits avec les groupes Program concernés plutôt que tous anticipés en bloc.
|
RAW worker puis STRUCTURAL worker sont introduits à la fin de leur couche respective, lorsque persistence/backlog sont disponibles. Le traitement RAW -> CORE borné est porté par un STRUCTURAL job distinct du service continu. Les workers DECODE/SPECIALIZED sont introduits avec les groupes Program concernés plutôt que tous anticipés en bloc.
|
||||||
|
|
||||||
## Apps
|
## Apps
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md -->
|
<!-- file: docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md -->
|
||||||
<!-- version: 15 -->
|
<!-- version: 16 -->
|
||||||
|
|
||||||
# Acquisition, workers, jobs et pipelines spécialisés
|
# Acquisition, workers, jobs et pipelines spécialisés
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ CORE normalizer -X-> ksp-materializer-api
|
|||||||
|
|
||||||
`ksp-interface-lib` peut fournir les wires Solana génériques nécessaires à la structure blockchain.
|
`ksp-interface-lib` peut fournir les wires Solana génériques nécessaires à la structure blockchain.
|
||||||
|
|
||||||
### Job replay CORE
|
### STRUCTURAL job
|
||||||
|
|
||||||
Un job borné peut rejouer :
|
Un job borné peut rejouer :
|
||||||
|
|
||||||
@@ -279,9 +279,9 @@ D2 CORE
|
|||||||
|
|
||||||
sans redemander les données au réseau.
|
sans redemander les données au réseau.
|
||||||
|
|
||||||
### Worker CORE
|
### STRUCTURAL worker
|
||||||
|
|
||||||
Un worker CORE continu peut consommer le backlog RAW nouvellement persisté et produire CORE.
|
Le STRUCTURAL worker continu peut consommer le backlog RAW nouvellement persisté et produire CORE.
|
||||||
|
|
||||||
Le Store reste source de vérité du backlog ; les notifications ne sont qu'un wake-up.
|
Le Store reste source de vérité du backlog ; les notifications ne sont qu'un wake-up.
|
||||||
|
|
||||||
@@ -499,10 +499,10 @@ Le Worker conserve seul son runtime continu, ses sources actives, sa continuité
|
|||||||
|
|
||||||
Les événements Interface peuvent servir de signal provider-neutral à la composition live, mais ne constituent jamais le backlog durable. Après crash ou perte d'un événement, la reprise s'appuie sur Store et sur les primitives de replay/hydratation appropriées.
|
Les événements Interface peuvent servir de signal provider-neutral à la composition live, mais ne constituent jamais le backlog durable. Après crash ou perte d'un événement, la reprise s'appuie sur Store et sur les primitives de replay/hydratation appropriées.
|
||||||
|
|
||||||
### CORE replay/worker
|
### STRUCTURAL job/worker
|
||||||
|
|
||||||
```text
|
```text
|
||||||
CORE processor
|
STRUCTURAL job / STRUCTURAL worker
|
||||||
-> ksp-interface-lib si wires génériques nécessaires
|
-> ksp-interface-lib si wires génériques nécessaires
|
||||||
-> ksp-store-api
|
-> ksp-store-api
|
||||||
-> ksp-core-lib
|
-> ksp-core-lib
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md -->
|
<!-- file: docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# Applications, services, scenarios et control plane
|
# Applications, services, scenarios et control plane
|
||||||
|
|
||||||
@@ -197,13 +197,13 @@ Exemples conceptuels :
|
|||||||
```text
|
```text
|
||||||
ksp-worker-raw-transaction-ingest-lib # premier runtime worker réutilisable retenu
|
ksp-worker-raw-transaction-ingest-lib # premier runtime worker réutilisable retenu
|
||||||
future autonomous raw-ingest binary # seulement si un besoin de service séparé le justifie
|
future autonomous raw-ingest binary # seulement si un besoin de service séparé le justifie
|
||||||
future CORE worker
|
future STRUCTURAL worker
|
||||||
future group-specific DECODE/SPECIALIZED workers when justified
|
future group-specific DECODE/SPECIALIZED workers when justified
|
||||||
```
|
```
|
||||||
|
|
||||||
Le premier worker RAW est volontairement prévu comme bibliothèque réutilisable afin qu'une Desk ou un futur host puisse le construire sans dupliquer sa logique. Un binaire autonome n'est pas créé par convention seule ; s'il apparaît, il reste un host mince au-dessus de la même bibliothèque et de `ksp-worker-api`.
|
Le premier worker RAW est volontairement prévu comme bibliothèque réutilisable afin qu'une Desk ou un futur host puisse le construire sans dupliquer sa logique. Un binaire autonome n'est pas créé par convention seule ; s'il apparaît, il reste un host mince au-dessus de la même bibliothèque et de `ksp-worker-api`.
|
||||||
|
|
||||||
RAW et CORE reçoivent leurs workers à la fin de leur couche respective. Les workers DECODE/SPECIALIZED ne sont plus tous anticipés comme une chaîne globale fixe : leur granularité doit émerger des premiers vertical slices Program.
|
RAW reçoit son worker d’ingestion à la fin de sa couche ; CORE reçoit ensuite son STRUCTURAL worker lorsque sa persistence/backlog sont disponibles. Les workers DECODE/SPECIALIZED ne sont plus tous anticipés comme une chaîne globale fixe : leur granularité doit émerger des premiers vertical slices Program.
|
||||||
|
|
||||||
Le binaire, lorsqu'il existe, doit rester mince.
|
Le binaire, lorsqu'il existe, doit rester mince.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
||||||
<!-- version: 95 -->
|
<!-- version: 96 -->
|
||||||
|
|
||||||
# Séquence des releases fonctionnelles KSP
|
# Séquence des releases fonctionnelles KSP
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ RAW persisted
|
|||||||
-> Solana generic normalization
|
-> Solana generic normalization
|
||||||
-> CORE persistence
|
-> CORE persistence
|
||||||
-> RAW->CORE replay/backfill
|
-> RAW->CORE replay/backfill
|
||||||
-> CORE worker/service
|
-> STRUCTURAL worker/service
|
||||||
-> CORE inspection/control app
|
-> CORE inspection/control app
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md -->
|
<!-- file: docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md -->
|
||||||
<!-- version: 11 -->
|
<!-- version: 12 -->
|
||||||
|
|
||||||
# Plan v0.3.10 — RAW Transaction commune + qualification cross-source
|
# Plan v0.3.10 — RAW Transaction commune + qualification cross-source
|
||||||
|
|
||||||
@@ -298,6 +298,7 @@ Cible retenue :
|
|||||||
ksp-raw-transaction-lib
|
ksp-raw-transaction-lib
|
||||||
-> ksp-core-lib
|
-> ksp-core-lib
|
||||||
-> ksp-store-api
|
-> ksp-store-api
|
||||||
|
-> base64
|
||||||
-> serde_json
|
-> serde_json
|
||||||
-> sha2
|
-> sha2
|
||||||
```
|
```
|
||||||
@@ -832,7 +833,7 @@ gRPC protocol + metadata publique/secrète + session settings
|
|||||||
|
|
||||||
Cela suffit comme handoff pour matérialiser et tester la bibliothèque Worker programmatiquement à partir de `0.3.11`. Aucune release Worker n’ajoute par défaut un `std.raw_transaction_ingest` qui forcerait `ksp-config-lib` à dépendre du Worker concret.
|
Cela suffit comme handoff pour matérialiser et tester la bibliothèque Worker programmatiquement à partir de `0.3.11`. Aucune release Worker n’ajoute par défaut un `std.raw_transaction_ingest` qui forcerait `ksp-config-lib` à dépendre du Worker concret.
|
||||||
|
|
||||||
Le choix utilisateur/composition de « quelles sources activer » appartient naturellement au futur `ksp-app-raw-transaction-ingest-desk` `0.3.11`. Si `0.3.10` découvre un manque **Transport** indispensable (par exemple un profil Helius de preuve ou un rôle HTTP live), l’adaptation Config reste limitée au standard Transport et ne crée pas de dépendance inversée.
|
Le choix utilisateur/composition de « quelles sources activer » appartient naturellement au futur `ksp-app-raw-transaction-ingest-desk` `0.3.15`. Si `0.3.10` découvre un manque **Transport** indispensable (par exemple un profil Helius de preuve ou un rôle HTTP live), l’adaptation Config reste limitée au standard Transport et ne crée pas de dépendance inversée.
|
||||||
|
|
||||||
### 13.3 Secrets
|
### 13.3 Secrets
|
||||||
|
|
||||||
@@ -1081,6 +1082,44 @@ Ancienne cible `0.3.11`, décalée après finalisation complète du Worker.
|
|||||||
|
|
||||||
Ancienne cible `0.3.12`, décalée sans changer la frontière Job historique paramétré / Worker live.
|
Ancienne cible `0.3.12`, décalée sans changer la frontière Job historique paramétré / Worker live.
|
||||||
|
|
||||||
|
### Note durable de génération des prompts `0.3.12` à `0.3.15`
|
||||||
|
|
||||||
|
Ne pas pré-générer maintenant quatre prompts complets qui figeraient des hypothèses avant leurs releases. Le prompt `0.3.11` reste produit dans la dernière prerelease de `0.3.10`; ensuite, chaque release produit **uniquement le prompt de la release suivante** depuis sa base stable réellement obtenue et conformément à `docs/rules/PROMPT_STRUCTURE.md`.
|
||||||
|
|
||||||
|
Chaîne de handoff obligatoire :
|
||||||
|
|
||||||
|
```text
|
||||||
|
fermeture 0.3.11 -> prompt 0.3.12 Yellowstone + hydration + continuity
|
||||||
|
fermeture 0.3.12 -> prompt 0.3.13 WS/Helius/HTTP live + convergence multi-source
|
||||||
|
fermeture 0.3.13 -> prompt 0.3.14 gap repair/hardening + smokes
|
||||||
|
fermeture 0.3.14 -> prompt 0.3.15 RAW ingest Desk
|
||||||
|
```
|
||||||
|
|
||||||
|
Chaque prompt doit reprendre comme **input**, pas comme vérité figée, les handoffs des sections 8 à 17 de ce plan et les références architecture/validation réellement réconciliées par la release précédente. Il doit obligatoirement :
|
||||||
|
|
||||||
|
```text
|
||||||
|
partir du dernier tag stable réel de la release précédente ;
|
||||||
|
relire RULES.md, PROMPT_STRUCTURE.md, architecture 004/005/009/010/011 et les plans/validations courants ;
|
||||||
|
réauditer les versions/capabilities provider et dépendances externes qui peuvent avoir changé ;
|
||||||
|
faire de pre.001 un audit + brainstorming + sizing, sans développement lourd ;
|
||||||
|
recalculer toutes les tranches sous le budget 15–20 min et rescinder la release si nécessaire ;
|
||||||
|
réserver les couloirs gate technique/live -> réconciliation documentaire -> préparation de publication ;
|
||||||
|
préserver ksp-raw-transaction-lib comme common lower layer sans runtime/Transport/Worker/Job ;
|
||||||
|
préserver la distinction Job borné / Worker continu et la persistence via ksp-store-lib ;
|
||||||
|
ne jamais transformer les objectifs ci-dessous en obligation si l'audit de la base réelle les invalide.
|
||||||
|
```
|
||||||
|
|
||||||
|
Contenu minimal à transférer :
|
||||||
|
|
||||||
|
| Prompt à produire | Mission de départ à réauditer | Frontière à préserver |
|
||||||
|
|:------------------|:------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
|
||||||
|
| `0.3.12` | Yellowstone transaction/block/status + hydration HTTP + replay/frontier | aucun élargissement WS/Helius/HTTP multi-source non nécessaire au gate |
|
||||||
|
| `0.3.13` | WS standard, Helius et HTTP live + convergence multi-source | réutiliser l'actor Transport ; aucune duplication protocolaire dans le Worker |
|
||||||
|
| `0.3.14` | gap repair/hardening + smokes accessibles | aucune prétention lossless sans preuve ; unresolved gaps visibles |
|
||||||
|
| `0.3.15` | Desk Tauri de sélection/supervision | UI sans réimplémenter acquisition, canonicalisation, dedup, repair ou persistence |
|
||||||
|
|
||||||
|
Cette note sert de **pré-handoff de génération**. Elle ne remplace ni les futurs plans `pre.001`, ni les prompts autonomes effectivement produits à la fermeture de chaque release.
|
||||||
|
|
||||||
## 18. Gates Cargo futurs obligatoires
|
## 18. Gates Cargo futurs obligatoires
|
||||||
|
|
||||||
Dès création des nouvelles crates et à la fermeture technique :
|
Dès création des nouvelles crates et à la fermeture technique :
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md -->
|
<!-- file: docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md -->
|
||||||
<!-- version: 11 -->
|
<!-- version: 12 -->
|
||||||
|
|
||||||
# Validation v0.3.10 — RAW Transaction commune + qualification cross-source
|
# Validation v0.3.10 — RAW Transaction commune + qualification cross-source
|
||||||
|
|
||||||
@@ -978,7 +978,7 @@ Décision de qualification :
|
|||||||
Yellowstone transaction wire = QUALIFIÉ
|
Yellowstone transaction wire = QUALIFIÉ
|
||||||
Yellowstone Transaction RAW = HYDRATION HTTP (block_time absent)
|
Yellowstone Transaction RAW = HYDRATION HTTP (block_time absent)
|
||||||
Yellowstone Block RAW complet = HYDRATION HTTP (meta JSON byte-identical non prouvée)
|
Yellowstone Block RAW complet = HYDRATION HTTP (meta JSON byte-identical non prouvée)
|
||||||
TR-C2 adapter productif = différé au Worker pre.007
|
TR-C2 adapter productif = différé au Worker 0.3.11
|
||||||
```
|
```
|
||||||
|
|
||||||
Le manifest Backfill ajoute uniquement en dev :
|
Le manifest Backfill ajoute uniquement en dev :
|
||||||
@@ -991,3 +991,35 @@ yellowstone-grpc-proto = { workspace = true, features = ["tonic"] }
|
|||||||
`tests/dependency_boundary.rs` vérifie qu'elles ne figurent pas avant `[dev-dependencies]`, et le canari hardening attend exactement `{tokio, tokio-tungstenite, tonic, yellowstone-grpc-proto}` en dev tout en gardant l'inventaire normal inchangé.
|
`tests/dependency_boundary.rs` vérifie qu'elles ne figurent pas avant `[dev-dependencies]`, et le canari hardening attend exactement `{tokio, tokio-tungstenite, tonic, yellowstone-grpc-proto}` en dev tout en gardant l'inventaire normal inchangé.
|
||||||
|
|
||||||
L'environnement d'assemblage ne fournit ni `cargo`, ni `rustc`, ni `rustfmt`. Le gate Cargo/Clippy/tests reste donc opérateur. Les audits Python KSP et Markdown sont exécutés après fermeture du delta et leurs résultats sont enregistrés dans `deltas/0.3.10/pre.006.md`.
|
L'environnement d'assemblage ne fournit ni `cargo`, ni `rustc`, ni `rustfmt`. Le gate Cargo/Clippy/tests reste donc opérateur. Les audits Python KSP et Markdown sont exécutés après fermeture du delta et leurs résultats sont enregistrés dans `deltas/0.3.10/pre.006.md`.
|
||||||
|
|
||||||
|
### 13.11 Rejeu opérateur de `pre.006-fix.001` et `pre.006-fix.002`
|
||||||
|
|
||||||
|
Le rejeu opérateur communiqué le 7 septembre 2026 confirme la correction des trois familles d'erreurs initiales de `pre.006-fix.001` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
cargo check --workspace PASS
|
||||||
|
ksp-raw-transaction-lib 16 unit + 10 integration/public/security PASS
|
||||||
|
ksp-onchain-transport-lib 387 unit + 51 public + 43 release + doctests PASS
|
||||||
|
ksp-job-backfill-lib 51 unit + suites integration PASS hors lint strict
|
||||||
|
```
|
||||||
|
|
||||||
|
Le seul échec de `cargo clippy --workspace --all-targets --all-features -- -D warnings` restant est :
|
||||||
|
|
||||||
|
```text
|
||||||
|
crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs
|
||||||
|
missing documentation for the crate
|
||||||
|
```
|
||||||
|
|
||||||
|
Le fichier d'intégration Yellowstone était le seul test de la crate sans rustdoc de crate `//! ...`. `pre.006-fix.002` ajoute uniquement cette documentation crate-level et incrémente la version technique à `0.3.10-pre.6.fix.2`; aucune logique de fixture, aucun golden, aucune dépendance et aucun comportement de production ne changent.
|
||||||
|
|
||||||
|
Le même correctif réconcilie aussi l'architecture durable avec l'extraction common déjà effective :
|
||||||
|
|
||||||
|
```text
|
||||||
|
ksp-raw-transaction-lib est inventoriée explicitement ;
|
||||||
|
son graphe lower-layer est documenté ;
|
||||||
|
CORE processor / CORE worker deviennent STRUCTURAL job / STRUCTURAL worker ;
|
||||||
|
le plan conserve une note de génération séquentielle des prompts 0.3.12 -> 0.3.15.
|
||||||
|
```
|
||||||
|
|
||||||
|
Le gate opérateur à rejouer après application de `pre.006-fix.002` est le même que `pre.006-fix.001`, en priorité le Clippy strict puis `cargo test -p ksp-job-backfill-lib`.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user