v0.3.12-pre.011
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# file: Cargo.toml
|
||||
# version: 535
|
||||
# version: 536
|
||||
|
||||
[workspace]
|
||||
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"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.3.12-pre.10"
|
||||
version = "0.3.12-pre.11"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
||||
|
||||
71
deltas/0.3.12/pre.011.md
Normal file
71
deltas/0.3.12/pre.011.md
Normal file
@@ -0,0 +1,71 @@
|
||||
<!-- file: deltas/0.3.12/pre.011.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.12-pre.011`
|
||||
|
||||
## Base
|
||||
|
||||
`0.3.12-pre.010`.
|
||||
|
||||
## Objectif
|
||||
|
||||
Fermer la tranche de gate technique final et de live opt-in prévue par le plan : workspace complet, Clippy strict, suites ciblées, graphes Cargo, duplicates et smokes réellement accessibles, sans nouveau scope fonctionnel.
|
||||
|
||||
## Fichiers ajoutés
|
||||
|
||||
- `deltas/0.3.12/pre.011.md`.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
- `Cargo.toml` ;
|
||||
- `docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md`.
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
Aucun.
|
||||
|
||||
## Décisions
|
||||
|
||||
- la version workspace devient `0.3.12-pre.11` ;
|
||||
- aucun fichier Rust de production ou de test n'est modifié ;
|
||||
- le gate `pre.010` réellement communiqué est enregistré sans revendiquer les commandes `cargo tree` ou workspace-all-targets qui n'étaient pas présentes dans ce log ;
|
||||
- `pre.011` exige le workspace complet `--all-targets --all-features`, les suites cross-layer ciblées, les graphes Worker normal/features et `cargo tree --duplicates` ;
|
||||
- les smokes HTTP/WS Devnet sans secret sont distingués des smokes Yellowstone token-gated ;
|
||||
- les tokens Yellowstone restent lus sur stdin et ne doivent pas être passés en argument CLI ni copiés dans les logs/deltas ;
|
||||
- aucun Worker live smoke artificiel n'est ajouté sans secret Yellowstone, hydration HTTP cohérente et Store réellement provisionné ;
|
||||
- un smoke non exécutable faute de secret reste `NON EXÉCUTÉ`, jamais PASS ;
|
||||
- aucun comportement reconnect/replay, frontier, hydration, persistence, Store, Config ou Backfill n'est modifié.
|
||||
|
||||
## Validations exécutées dans l'environnement d'assemblage
|
||||
|
||||
- `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` ;
|
||||
- vérification statique de l'inventaire des smokes et de leur caractère `#[ignore]` ;
|
||||
- vérification d'inventaire du delta ;
|
||||
- `unzip -t` ;
|
||||
- reproduction byte-à-byte du delta sur `0.3.12-pre.010`.
|
||||
|
||||
## Validations non exécutées localement
|
||||
|
||||
`cargo`, `rustc` et `rustfmt` ne sont pas installés dans l'environnement d'assemblage. Aucun PASS Cargo ou live local n'est revendiqué.
|
||||
|
||||
## Gate opérateur déterministe requis
|
||||
|
||||
```bash
|
||||
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 test -p ksp-onchain-transport-lib
|
||||
cargo test -p ksp-raw-transaction-lib
|
||||
cargo test -p ksp-store-api
|
||||
cargo test -p ksp-store-lib --no-default-features
|
||||
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
|
||||
cargo tree --duplicates
|
||||
```
|
||||
|
||||
Les commandes live opt-in sont documentées dans `docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md` et leurs résultats doivent être enregistrés séparément du gate déterministe.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md -->
|
||||
<!-- version: 21 -->
|
||||
<!-- version: 22 -->
|
||||
|
||||
# Validation v0.3.12 — Yellowstone + hydration HTTP + continuité de run du Worker RawTransaction
|
||||
|
||||
@@ -1923,3 +1923,150 @@ cargo tree --duplicates
|
||||
|
||||
Dans l'environnement d'assemblage, `cargo`, `rustc` et `rustfmt` ne sont pas installés ; aucun gate Cargo local n'est revendiqué.
|
||||
|
||||
## 80. Gate opérateur `pre.010`
|
||||
|
||||
Le gate opérateur communiqué pour `0.3.12-pre.10` est vert sur toutes les commandes effectivement exécutées :
|
||||
|
||||
```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, 820 fichiers)
|
||||
cargo check --workspace : PASS
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
|
||||
```
|
||||
|
||||
Suites ciblées réellement exécutées :
|
||||
|
||||
```text
|
||||
ksp-onchain-transport-lib
|
||||
388 unit PASS
|
||||
51 public_api PASS
|
||||
43 release_completeness PASS
|
||||
4 doc-tests PASS
|
||||
smokes live : 5 tests ignored par défaut
|
||||
|
||||
ksp-raw-transaction-lib
|
||||
17 unit PASS
|
||||
2 dependency_boundary PASS
|
||||
5 public_api PASS
|
||||
2 release_completeness PASS
|
||||
2 security_hardening PASS
|
||||
|
||||
ksp-store-api
|
||||
22 unit PASS
|
||||
2 dependency_boundary PASS
|
||||
1 external_backend PASS
|
||||
8 public_api PASS
|
||||
5 release_completeness PASS
|
||||
5 security_hardening PASS
|
||||
|
||||
ksp-store-lib --no-default-features
|
||||
9 unit PASS
|
||||
3 dependency_boundary PASS
|
||||
1 feature_mismatch PASS
|
||||
6 hardening_completeness PASS
|
||||
5 public_api PASS
|
||||
|
||||
ksp-worker-raw-transaction-ingest-lib
|
||||
66 unit PASS
|
||||
4 cross_layer_completeness PASS
|
||||
9 dependency_boundary PASS
|
||||
16 hardening PASS
|
||||
9 public_api PASS
|
||||
4 release_completeness PASS
|
||||
```
|
||||
|
||||
Les commandes `cargo tree` et le gate `cargo test --workspace --all-targets --all-features` ne figurent pas dans le log opérateur reçu pour `pre.010` ; aucun PASS n'est revendiqué pour ces commandes. Elles appartiennent explicitement au gate `pre.011`.
|
||||
|
||||
`pre.010` devient la base autoritaire de `pre.011`.
|
||||
|
||||
## 81. Gate technique complet et live opt-in `pre.011`
|
||||
|
||||
`pre.011` n'ajoute aucun comportement runtime, aucune API et aucun nouveau test réseau. La tranche ferme le gate technique final prévu par le plan à partir de la candidate déjà qualifiée par `pre.010`.
|
||||
|
||||
Gate déterministe requis :
|
||||
|
||||
```bash
|
||||
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 test -p ksp-onchain-transport-lib
|
||||
cargo test -p ksp-raw-transaction-lib
|
||||
cargo test -p ksp-store-api
|
||||
cargo test -p ksp-store-lib --no-default-features
|
||||
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
|
||||
cargo tree --duplicates
|
||||
```
|
||||
|
||||
Les smokes réseau restent hors du gate déterministe. Ils sont exécutés uniquement de manière explicite et leur résultat est enregistré séparément.
|
||||
|
||||
### 81.1 Smokes keyless réellement accessibles
|
||||
|
||||
Ces deux smokes Transport n'exigent aucun secret opérateur :
|
||||
|
||||
```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 prouvent respectivement un accès HTTP Devnet et un cycle WebSocket Devnet. Ils ne prouvent ni Yellowstone, ni hydration Worker, ni persistence Store.
|
||||
|
||||
### 81.2 Smokes Yellowstone token-gated
|
||||
|
||||
Les smokes Yellowstone existants restent operator-only et lisent leurs tokens sur stdin. Les secrets ne doivent jamais être passés comme arguments CLI ni copiés dans un delta/log.
|
||||
|
||||
OrbitFlare Devnet, uniquement si un token valide est réellement disponible :
|
||||
|
||||
```bash
|
||||
read -rsp 'OrbitFlare x-token: ' ORBITFLARE_X_TOKEN; printf '\n'
|
||||
printf '%s\n' "$ORBITFLARE_X_TOKEN" | cargo test -p ksp-onchain-transport-lib --test yellowstone_orbitflare_smoke -- --ignored --nocapture
|
||||
unset ORBITFLARE_X_TOKEN
|
||||
```
|
||||
|
||||
PublicNode Mainnet/Testnet, uniquement si les deux tokens personnels sont réellement disponibles :
|
||||
|
||||
```bash
|
||||
read -rsp 'PublicNode Mainnet x-token: ' PUBLICNODE_MAINNET_X_TOKEN; printf '\n'
|
||||
read -rsp 'PublicNode Testnet x-token: ' PUBLICNODE_TESTNET_X_TOKEN; printf '\n'
|
||||
printf '%s\n%s\n' "$PUBLICNODE_MAINNET_X_TOKEN" "$PUBLICNODE_TESTNET_X_TOKEN" | cargo test -p ksp-onchain-transport-lib --test yellowstone_publicnode_smoke -- --ignored --nocapture
|
||||
unset PUBLICNODE_MAINNET_X_TOKEN PUBLICNODE_TESTNET_X_TOKEN
|
||||
```
|
||||
|
||||
L'absence de token valide laisse le smoke correspondant `NON EXÉCUTÉ`; elle n'est ni un PASS ni un défaut produit.
|
||||
|
||||
### 81.3 Worker live smoke
|
||||
|
||||
Aucun nouveau smoke Worker end-to-end n'est introduit dans `pre.011`. Une telle preuve exigerait simultanément :
|
||||
|
||||
```text
|
||||
secret Yellowstone valide
|
||||
route HTTP d'hydration cohérente
|
||||
Store réellement provisionné sur le même network
|
||||
signal transactionnel live observé
|
||||
persistence vérifiable
|
||||
stop borné
|
||||
```
|
||||
|
||||
Ces ressources ne sont pas fournies dans l'environnement d'assemblage. Conformément au plan, `Worker live smoke` reste donc `NON EXÉCUTÉ` tant qu'un gate opérateur ne fournit pas réellement ces préconditions. Les fixtures déterministes et les gates cross-layer restent les preuves de correction obligatoires.
|
||||
|
||||
### 81.4 Critère de fermeture
|
||||
|
||||
`pre.011` peut être fermé lorsque :
|
||||
|
||||
```text
|
||||
gate déterministe complet = PASS
|
||||
arbres Cargo demandés = exécutés et examinés
|
||||
cargo tree --duplicates = exécuté et enregistré
|
||||
smokes keyless = exécutés ou échec externe explicitement qualifié
|
||||
smokes token-gated = PASS si les tokens sont disponibles, sinon NON EXÉCUTÉ explicite
|
||||
aucun secret n'apparaît dans les logs
|
||||
aucun nouveau scope fonctionnel n'est ajouté pour contourner un provider indisponible
|
||||
```
|
||||
|
||||
Dans l'environnement d'assemblage, `cargo`, `rustc` et `rustfmt` ne sont pas installés ; aucun PASS Cargo ou live local n'est revendiqué.
|
||||
|
||||
Reference in New Issue
Block a user