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,14 +1,18 @@
<!-- file: ks-store/TODO.md -->
<!-- version: 7 -->
<!-- version: 11 -->
# TODO — ks-store
## 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`définir le contrat temporel distinguant `block_time` on-chain des timestamps d'acquisition et de persistance.
- [ ] `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` — 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`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`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`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é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.
- [ ] 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.