v0.3.14-pre.014

This commit is contained in:
2026-09-12 21:29:00 +02:00
parent 02012f105a
commit 8d8b6b9bcb
3 changed files with 240 additions and 3 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml # file: Cargo.toml
# version: 589 # version: 590
[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", "crates/ksp-worker-raw-transaction-ingest-lib"] 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", "crates/ksp-worker-raw-transaction-ingest-lib"]
[workspace.package] [workspace.package]
version = "0.3.14-pre.13.fix.1" version = "0.3.14-pre.14"
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"

114
deltas/0.3.14/pre.014.md Normal file
View File

@@ -0,0 +1,114 @@
<!-- file: deltas/0.3.14/pre.014.md -->
<!-- version: 1 -->
# Delta `0.3.14-pre.014` — gate technique/live
## Base requise
```text
0.3.14-pre.013-fix.001
```
## Objectif
Matérialiser la tranche technique/live finale de `0.3.14` sans ajouter de scope fonctionnel : enregistrer le gate d'entrée réellement communiqué, définir le gate déterministe workspace complet à rejouer sur `pre.014`, puis séparer explicitement les smokes live keyless des smokes provider/resource-gated.
## Gate d'entrée réellement reçu
Le gate opérateur du 12 septembre 2026 sur `0.3.14-pre.13.fix.1` est vert pour :
```text
fmt : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 881 files
cargo check --workspace : PASS
clippy workspace/all-targets/all-features -D warnings : PASS
Worker : 152 unit + 12 cross-layer + 21 dependency-boundary + 38 hardening + 22 public-api + 15 release-completeness, 0 échec
```
Ce journal ne contient ni test workspace exhaustif, ni graphes Cargo, ni smoke live. Aucun de ces éléments n'est donc déclaré PASS avant exécution réelle sur `pre.014`.
## Modifications
```text
Cargo.toml
header 589 -> 590
workspace.package.version -> 0.3.14-pre.14
docs/validation/031-V0_3_14_MULTI_SOURCE_GAP_REPAIR_HARDENING.md
journal du gate d'entrée
gate workspace final à exécuter
graphes/duplicates à produire
smokes keyless à exécuter
smokes provider/resource-gated explicitement NON EXÉCUTÉ sans provisionnement
deltas/0.3.14/pre.014.md
ajouté
```
Aucun code Rust, test, dépendance, feature ou contrat public n'est modifié.
## Gate déterministe final requis
```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 --workspace --all-targets --all-features
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree --duplicates
```
`cargo tree --duplicates` est un inventaire : une sortie non vide n'est pas à elle seule un défaut si les frontières de dépendances restent vertes.
## Smokes keyless finaux requis
```bash
cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture
cargo test -p ksp-onchain-transport-lib --test websocket_devnet_smoke -- --ignored --nocapture
```
Ces tests doivent être exécutés explicitement ; leur simple compilation dans le workspace ne constitue pas une preuve live.
## Smokes conditionnels / non-claims
Sans credentials ou ressources opérateur, conserver explicitement :
```text
OrbitFlare Yellowstone Devnet : NON EXÉCUTÉ
PublicNode Yellowstone : NON EXÉCUTÉ
Helius transactionSubscribe : NON EXÉCUTÉ
Postgres live Store : NON EXÉCUTÉ
Worker repair -> Store live end-to-end : NON EXÉCUTÉ sans environnement dédié
```
Aucun résultat historique `0.3.13` n'est requalifié comme PASS `0.3.14`.
## Validations locales d'assemblage
Exécutées après modification :
```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 / 882 files)
```
Cargo/Rustfmt ne sont pas disponibles dans l'environnement d'assemblage ; aucun PASS Cargo post-bump n'est revendiqué localement.
## Frontières
```text
aucun nouveau comportement
aucune API publique modifiée
aucune dépendance/feature modifiée
aucun README/USAGE/architecture réconcilié ici
aucun CHANGELOG/ROADMAP/prompt suivant modifié
```
La réconciliation documentaire reste réservée à `pre.015` et ne peut commencer qu'après fermeture réelle du gate technique/live `pre.014`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/031-V0_3_14_MULTI_SOURCE_GAP_REPAIR_HARDENING.md --> <!-- file: docs/validation/031-V0_3_14_MULTI_SOURCE_GAP_REPAIR_HARDENING.md -->
<!-- version: 4 --> <!-- version: 5 -->
# Validation v0.3.14 — gap repair / hardening multi-source RawTransaction # Validation v0.3.14 — gap repair / hardening multi-source RawTransaction
@@ -592,3 +592,126 @@ cargo check --workspace
``` ```
`pre.001` ne modifie pas de Rust ; un Clippy/test workspace exhaustif n'est pas nécessaire pour prouver le contenu de cette tranche de planification, mais le gate stable complet fourni reste la baseline. Si le gate post-bump révèle un défaut, ouvrir un fix rattaché à `pre.001` avant `pre.002`. `pre.001` ne modifie pas de Rust ; un Clippy/test workspace exhaustif n'est pas nécessaire pour prouver le contenu de cette tranche de planification, mais le gate stable complet fourni reste la baseline. Si le gate post-bump révèle un défaut, ouvrir un fix rattaché à `pre.001` avant `pre.002`.
## 20. Gate d'entrée de `pre.014` — preuve opérateur `pre.013-fix.001`
Le 12 septembre 2026, le gate communiqué sur `0.3.14-pre.13.fix.1` est vert pour toutes les commandes effectivement exécutées :
```text
cargo fmt --all / --check : PASS
General Rust rule audit : clean
Rust export completeness audit : 0 candidate(s)
KSP workspace Rust rule audit : clean
Markdown table audit : clean (340 tables / 881 files)
cargo check --workspace : PASS
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
Worker unit : 152/152 PASS
Worker cross-layer completeness : 12/12 PASS
Worker dependency boundary : 21/21 PASS
Worker hardening : 38/38 PASS
Worker public API : 22/22 PASS
Worker release completeness : 15/15 PASS
```
Ce gate qualifie la tranche `pre.013-fix.001` et constitue la baseline d'entrée de `pre.014`. Il ne contient pas les sorties suivantes et elles ne sont donc pas déclarées PASS ici :
```text
cargo test --workspace --all-targets --all-features
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree --duplicates
smoke Solana HTTP Devnet ignoré/opt-in
smoke Solana WebSocket Devnet ignoré/opt-in
```
## 21. Responsabilité de `pre.014` — gate technique/live final
`pre.014` n'ajoute aucun comportement métier. Sa responsabilité est de fermer le gate technique/live de `0.3.14` sur l'arbre final après hardening :
```text
workspace complet
Clippy strict all-targets/all-features
tests workspace all-targets/all-features
graphe Worker normal
graphe Worker features
inventaire cargo tree --duplicates
smokes keyless HTTP/WebSocket Devnet réellement exécutés
qualification explicite des smokes provider/resource-gated non exécutés
```
Une sortie non vide de `cargo tree --duplicates` est un inventaire multi-version ; elle n'est pas requalifiée artificiellement en défaut tant que les dependency-firewall et canaris cross-layer restent verts.
Les tests `#[ignore]` compilés par le gate workspace ne constituent jamais une preuve live. Les smokes live sont exécutés séparément avec `--ignored --nocapture`.
## 22. Gate déterministe final à exécuter sur `0.3.14-pre.14`
```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 --workspace --all-targets --all-features
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree --duplicates
```
Le gate n'est clos que si toutes les commandes déterministes ci-dessus terminent sans erreur. Le nombre de versions dupliquées éventuellement listées par Cargo est enregistré comme inventaire et ne devient bloquant que s'il révèle une violation effective des frontières de dépendances du projet.
## 23. Smokes live accessibles à exécuter séparément
Les deux smokes Transport sans secret opérateur requis sont :
```bash
cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture
cargo test -p ksp-onchain-transport-lib --test websocket_devnet_smoke -- --ignored --nocapture
```
Ils doivent être réellement exécutés sur `0.3.14-pre.14` avant de les déclarer PASS. Leur qualification antérieure sur `0.3.13` reste une preuve historique et n'est pas substituée au gate final de `0.3.14`.
Smokes restant conditionnels à un environnement externe :
```text
OrbitFlare Yellowstone Devnet : credential requis -> NON EXÉCUTÉ sauf provisionnement opérateur
PublicNode Yellowstone : auth/capability replay requise -> NON EXÉCUTÉ sauf provisionnement opérateur
Helius transactionSubscribe : API key/tier requis -> NON EXÉCUTÉ sauf provisionnement opérateur
Postgres live Store : instance/configuration externe requise -> NON EXÉCUTÉ sauf provisionnement opérateur
Worker repair -> Store live end-to-end : aucune preuve live dédiée n'est revendiquée sans environnement explicitement provisionné
```
Aucun de ces états `NON EXÉCUTÉ` n'est transformé en PASS par compilation, test unitaire, fixture ou résultat historique.
## 24. Modifications de `pre.014`
```text
Cargo.toml
header 589 -> 590
workspace.package.version 0.3.14-pre.13.fix.1 -> 0.3.14-pre.14
docs/validation/031-V0_3_14_MULTI_SOURCE_GAP_REPAIR_HARDENING.md
enregistrement du gate d'entrée réellement reçu
matrice déterministe finale
smokes keyless finaux et non-claims provider/resource-gated
deltas/0.3.14/pre.014.md
ajouté
```
Aucun fichier Rust, test, dépendance, feature, README/USAGE, architecture, CHANGELOG, ROADMAP ou prompt suivant n'est modifié par cette tranche.
## 25. Statut local d'assemblage `pre.014`
Audits statiques réellement exécutés après modification :
```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 / 882 files)
```
Le toolchain Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Aucun PASS Cargo post-bump n'est donc revendiqué localement.
Le gate Cargo complet et les smokes live de `pre.014` restent `À EXÉCUTER` par l'opérateur avant `pre.015`.