6.0 KiB
6.0 KiB
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_timecomme correction pré-gel deraw_transactionsetcore_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_outputset 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 exigestack_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 contratanchor_*; 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'arborescencemigrations/postgres/, une instruction SQL par fichier exécutée viainclude_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'unStorepersistant dansAppState, la refonte backend-agnostique dedemo_sql/demo_config/splash et les targetsks-store.pg.*; - ajoute
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.007comme 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
- migre la variable des tests PostgreSQL optionnels vers
KS_SECRET_POSTGRES_TEST_URL; - renomme le helper SQL de rollback réservé aux tests de
kb_test_reject_decode_ledgerversks_test_reject_decode_ledger; - ne modifie aucune migration, table, requête SQL ou identité persistée.
0.5.1-pre.003
- aligne le contrat de test de persistance/replay sur l'identité de décodeur
ks-lib-decoder.*; - documente qu'une base contenant encore des identités
kb-lib.*doit être reconstruite ou migrée explicitement avant reprise durable du replay ; - ne modifie ni les migrations SQL
0001à0004, ni les tableskb_sol_*, dont le renommage reste réservé à0.5.3.
0.5.1-pre.002
- renomme
kb-storeenks-storeetkb_storeenks_store; - aligne le target racine et les consommateurs, tout en conservant volontairement les tables
kb_sol_*et les migrations SQL inchangées jusqu'à0.5.3.
0.5.0-pre.003
Documentation
- documente l’audit préparatoire
0.5.3sans modifier le schéma ni les migrations0001à0004; - formalise dans le TODO la caractérisation du schéma
0.4.8, la séparation deblock_timeon-chain des temps d’acquisition/persistance, l’enveloppe de faits/provenance et la décision future sur les projections normalisées parallèles au journal générique de matérialisation.
0.4.6
- alignement de la crate sur la version fonctionnelle bot3
0.4.6; - clôture des tâches de migration applicables et report explicite des évolutions ultérieures dans le TODO.
0.1.0-pre.074
- clôture de la tâche documentaire préalable à
0.4.6après publication du guide PostgreSQL et stockage ;
0.1.0-pre.073
- ajout du guide transversal
docs/guides/POSTGRES_STORAGE.md;
0.1.0-pre.072
- reclassement du TODO selon les blocants avant
0.4.6, les travaux0.4.7, les versions ultérieures et les dépendances conditionnelles.
0.1.0-pre.070
- enrichissement de
USAGE.mdavec plusieurs exemples couvrant les familles d’API publiques significatives.
0.1.0-pre.069
Documentation
- création de
TODO.md,USAGE.mdet du changelog détaillé ; - réécriture du README autour des contrats consolidés et de
PostgresStore; - suppression de la section
Non publié, incompatible avec le rôle chronologique du changelog ; - retrait des constats sans action du TODO et des travaux futurs du changelog ;
- réécriture de
TODO.mdsous forme de tâches uniquement ; - correction des exemples de
USAGE.mdafin de ne pas utiliser l’opérateur?.
0.1.0
Migré
- consolidation de
ks_store_core,ks_store_pget des contrats associés dansks-store; - migration des tables raw, observations, Core, ledger, événements décodés, couverture et matérialisations ;
- migration des migrations SQL, diagnostics et requêtes de replay.
Modifié
- adoption de Rust 2024 et des règles Khadhroony ;
- maintien des modules internes privés derrière une façade publique contrôlée ;
- erreurs structurées via
ks_core::Erroret transactions async viasqlx.
Validation
- tests des DTO, pagination, filtres, schéma, migrations, diagnostics et atomicité ;
- tests PostgreSQL réels optionnels pilotés par environnement.