v0.5.3-pre.001

This commit is contained in:
2026-08-11 20:04:41 +02:00
parent 34674e8187
commit 01d78b5845
4 changed files with 1416 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
# file: Cargo.toml # file: Cargo.toml
# version: 66 # version: 68
[workspace] [workspace]
resolver = "3" resolver = "3"
@@ -19,7 +19,7 @@ members = [
] ]
[workspace.package] [workspace.package]
version = "0.5.2" version = "0.5.3-pre.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-bot3" repository = "https://git.sasedev.com/Sasedev/khadhroony-bot3"

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,27 @@
<!-- file: ks-store/CHANGELOG.md --> <!-- file: ks-store/CHANGELOG.md -->
<!-- version: 15 --> <!-- version: 19 -->
# CHANGELOG — ks-store # CHANGELOG — ks-store
## `0.5.3-pre.001`
### Audit / plan
- inventorie les 13 tables actives de `0.5.2`, leurs migrations, DTO, repositories, requêtes et consommateurs ;
- conserve les 13 tables existantes comme baseline avec instructions top-level et CPI physiquement séparées, mais rendues symétriques pour lifecycle/replay et accessibles via une lecture logique commune ; le nombre final N1/N2/N3 peut augmenter si le canari future-decoder révèle un manque Solana générique avant gel ;
- classe `block_time` comme correction pré-gel de `raw_transactions` et `core_transactions`, sans duplication dans chaque projection fille ;
- conserve impérativement le journal générique N3 de matérialisation sous la cible `k_sol_mat_outputs` et réserve les projections spécialisées au niveau N4 ;
- formalise le gel fort N1 raw/N2 Core/N3 materialization après `0.5.3`, la souplesse contrôlée des projections N4 et les replays N1 -> N2, N2 -> N3 et N3 -> N4 ;
- retient pour les metadata deux projections N4 futures : asset/token metadata commune Metaplex + Token-2022 et program metadata distincte pour SPM ;
- normalise le vocabulaire d'instruction vers `top-level`, conserve les CPI séparées et exige `stack_height`/parent CPI immédiat lorsque reconstructible ;
- ajoute un canari de gel future-decoder/Anchor-readiness : N1/N2/N3 doivent conserver les données Solana génériques nécessaires aux instructions/CPI, événements/logs, `returnData`, états/observations de comptes et provenance de schéma, sans ajouter de contrat `anchor_*` ; les 13 tables existantes restent une baseline et non un quota final si un manque générique est découvert avant gel ;
- formalise la reconstruction `kb_sol_* -> k_sol_*`, l'arborescence `migrations/postgres/`, une instruction SQL par fichier exécutée via `include_str!`, l'audit des index/paginations/BIGINT et les règles de replay/invalidation ;
- définit la façade de stockage backend-agnostique, l'encapsulation de PostgreSQL, la stratégie de configuration backend opaque jusqu'à `ks-store`, le résumé runtime/init sans secrets, la future réutilisation d'un `Store` persistant dans `AppState`, la refonte backend-agnostique de `demo_sql`/`demo_config`/splash et les targets `ks-store.pg.*` ;
- ajoute [`docs/plans/V0_5_3_KS_STORE_NORMALIZATION_PLAN.md`](../docs/plans/V0_5_3_KS_STORE_NORMALIZATION_PLAN.md) ;
- ne crée aucune table DEX/trading ni projection metadata N4 dans `0.5.3` ;
- considère `pre.007` comme premier candidat de clôture et autorise explicitement son décalage si des manques apparaissent ;
- ne modifie aucune table, migration SQL, requête ou API Rust de production dans cette prerelease de plan.
## `0.5.1-pre.004` ## `0.5.1-pre.004`
- migre la variable des tests PostgreSQL optionnels vers `KS_SECRET_POSTGRES_TEST_URL` ; - migre la variable des tests PostgreSQL optionnels vers `KS_SECRET_POSTGRES_TEST_URL` ;

View File

@@ -1,14 +1,18 @@
<!-- file: ks-store/TODO.md --> <!-- file: ks-store/TODO.md -->
<!-- version: 7 --> <!-- version: 11 -->
# TODO — ks-store # TODO — ks-store
## Série `0.5.x` ## Série `0.5.x`
- [ ] `0.5.3`caractériser le schéma `0.4.8` par tests d'API externe et fixture de migration avant toute évolution SQL. - [ ] `0.5.3`introduire une façade `Store` backend-agnostique, rendre PostgreSQL/SQLx privés et supprimer les contrats publics historiques non implémentés.
- [ ] `0.5.3`définir le contrat temporel distinguant `block_time` on-chain des timestamps d'acquisition et de persistance. - [ ] `0.5.3`remodeler la configuration store afin que le backend sélectionné et ses options restent opaques jusqu'à leur validation/interprétation par `ks-store`.
- [ ] `0.5.3`définir l'enveloppe de faits, provenance et index nécessaires aux futures projections trading/routing avant de créer des tables spécifiques. - [ ] `0.5.3`reconstruire `kb_sol_* -> k_sol_*`, ajouter `block_time` aux ancres raw/Core, conserver top-level/CPI dans deux tables Core avec lifecycle/replay équivalents, `stack_height`/parent CPI audités et renommer le journal N3 en `k_sol_mat_outputs`.
- [ ] `0.5.3` — décider si `kb_sol_mat_events` reste le journal générique parallèlement à des projections normalisées spécialisées. - [ ] `0.5.3` — déplacer les ressources sous `migrations/postgres/`, imposer une instruction SQL par fichier avec exécution privée via `include_str!`, séparer tables/keys/index/drop/truncate et supprimer le DDL dupliqué en Rust.
- [ ] `0.5.3` — corriger l'invalidation descendante, formaliser les replays N1 -> N2 / N2 -> N3 / frontière N3 -> N4, les paginations/limites, les conversions BIGINT et les index justifiés par les requêtes réelles.
- [ ] `0.5.3` — migrer `ks-pipeline-demo-scenarios` et `kb-app-demo-desktop` vers les API génériques sans symboles `Postgres*`, conserver un `Store` générique dans létat applicatif, fournir un résumé runtime/init sans secrets et réconcilier `demo_sql`/`demo_config`/splash sans noms d'objets physiques.
- [ ] `0.5.3` — exécuter avant gel le canari future-decoder/Anchor-readiness sur N1/N2/N3 : bytes d'instruction, comptes ordonnés/flags, hiérarchie CPI, logs, `returnData`, observations/états de comptes et provenance decoder/schema ; ajouter seulement les contrats Solana génériques manquants, sans table `anchor_*`.
- [ ] `0.5.3` — produire le snapshot machine-readable des tables N1/N2/N3 réellement stabilisées après ce canari (13 tables existantes de baseline, plus éventuels contrats génériques nécessaires), documenter la politique N4 plus souple et les futures projections metadata asset/token + program metadata, puis ajouter les canaris anti-`kb_sol_*`, anti-backend leak, anti-secret et logging `ks-store.pg.*`.
- [ ] PostgreSQL - auditer le dimensionnement du pool selon les charges réelles. - [ ] PostgreSQL - auditer le dimensionnement du pool selon les charges réelles.
- [ ] Résilience - décider et implémenter, si justifié, un retry borné pour les timeouts transitoires. - [ ] Résilience - décider et implémenter, si justifié, un retry borné pour les timeouts transitoires.
- [ ] Administration - définir les outils supplémentaires prévus par le ROADMAP avant leur implémentation. - [ ] Administration - définir les outils supplémentaires prévus par le ROADMAP avant leur implémentation.