This commit is contained in:
2026-05-27 18:45:16 +02:00
parent d9558a5c16
commit 96b6209482
18 changed files with 996 additions and 23 deletions

View File

@@ -1035,19 +1035,27 @@ Objectif : figer le point de reprise après saturation de session, clarifier l
- maintenir la règle : aucun `program_id` nest vérifié sans signature/corpus/requête de validation.
### 6.076. Version `0.7.44` — Ledger de décodage/replay et skip sûr
Objectif : empêcher le replay local de rescanner inutilement les transactions/instructions dont le décodage est déjà certain, tout en gardant la possibilité de forcer ou de retraiter les cas ambigus.
Objectif : empêcher le replay local de rescanner inutilement les transactions dont le décodage DEX est déjà certifié pour la même version logique de decoder, tout en laissant les tables dérivées se reconstruire normalement.
À faire :
Statut : implémenté en première tranche transaction-level.
- ajouter une table de suivi type `k_sol_decode_attempts` ou `k_sol_replay_decode_ledger` dans `kb_lib/src/db/schema.rs` ;
- stocker `transaction_id`, `signature`, `instruction_id` lorsque disponible, `program_id`, `protocol_name`, `decoder_code`, `decoder_version`, `decode_status`, `certainty`, `event_count`, hash dentrée, reason/error et timestamps ;
- ajouter les entities/dtos/queries associées ;
- mettre à jour les re-exports dans `kb_lib/src/db.rs`, puis `kb_lib/src/lib.rs` si nécessaire ;
- intégrer le ledger dans `local_pipeline_replay.rs` sans changer la sémantique trade/candle ;
- ajouter une option `force` pour ignorer le ledger ;
- ne pas skipper automatiquement les transactions multi-token, multi-pool, multi-event ou marquées `partial` / `ambiguous` ;
- retraiter les lignes concernées lorsquun decoder change de version logique ;
- ajouter les diagnostics SQL permettant de mesurer skipped/replayed/ambiguous/forced.
Fait :
- ajout de `k_sol_dex_decode_replay_ledger` dans `kb_lib/src/db/schema.rs` ;
- stockage de `transaction_id`, `signature`, `decoder_scope`, `decoder_version`, `decode_status`, `certainty`, `event_count`, `distinct_token_mint_count`, `force_replay_required`, reason et timestamps ;
- ajout des entities/dtos/queries associées ;
- mise à jour des re-exports dans `kb_lib/src/db.rs` puis `kb_lib/src/lib.rs` ;
- intégration dans `local_pipeline_replay.rs` sans changer la sémantique trade/candle : le skip ne concerne que `DexDecodeService`, pas la détection, la matérialisation non-trade, les trades, candles, signaux analytiques ou classifications ;
- ajout de `skip_certified_dex_decode` et `force_decode_replay` dans `LocalPipelineReplayConfig` ;
- marquage `unsafe` des transactions multi-event ou avec plus de deux mints distincts dans les events décodés ;
- version logique initiale `dex_decode.v0.7.44.ledger1`, à incrémenter lorsquun decoder change de comportement.
Reste à faire plus tard :
- descendre le ledger au niveau instruction/program lorsque nécessaire ;
- ajouter un hash dentrée transaction/instruction pour détecter les mutations de payload ;
- exposer loption `force_decode_replay` dans lUI si besoin ;
- ajouter des diagnostics dédiés dans `local_pipeline_diagnostics`.
### 6.077. Version `0.7.45` — `meteora_dlmm` séparé
Objectif : consolider `meteora_dlmm` comme DEX effectif séparé, avec corpus dédié et events utiles au trading.