Files
khadhroony-bobobot/docs/prompts/PROMPT_0_7_56_METEORA_DBC.md
2026-06-16 06:57:32 +02:00

7.4 KiB

Prompt de reprise — khadhroony-bobobot 0.7.56 — meteora_dbc

Tu reprends le workspace Rust/Tauri khadhroony-bobobot après clôture technique de 0.7.55 pump_fees.

1. Archive et fichiers à fournir

Utiliser l'archive la plus récente après clôture 0.7.55 pump_fees.

À considérer comme sources locales de savoir :

  • code Rust du workspace ;
  • README.md, ROADMAP.md, CHANGELOG.md ;
  • docs/DEX_DECODER_MATRIX.md ;
  • docs/DEX_EVENT_COVERAGE_MATRIX.md ;
  • docs/reports/PUMP_FEES_EVENT_COVERAGE_REPORT.md ;
  • validation_sql/SQL_VALIDATION_PUMP_FEES_0_7_55.sql ;
  • idls/**, en particulier idls/meteora_dbc.dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN.json ;
  • les logs/requêtes SQL collés pendant la session.

Ne pas supposer que la documentation est parfaite : vérifier contre le code, l'IDL locale, les sources Git et le corpus SQLite.

2. État validé avant cette version

0.7.55 pump_fees est clos.

Replay final rapporté :

127 replayed
0 decode skipped
150 ledger upserts
125 unsafe ledger rows
4 trades
0 liquidity
115 lifecycle
0 tokenAccount
16 candle upserts
instructionObservations = 2234
resetDeleted = 1644
catalog = 11 tokens / 10 pools / 10 pairs

Validation build :

cargo test -p kb_lib -> 431 passed / 0 failed
cargo clippy -p kb_lib --all-targets -- -D warnings -> OK

Checks de fermeture Pump Fees :

  • fallback upstream_git pump_fees : vide ;
  • instruction_name vide : vide ;
  • event_family = unknown ou vide pour instruction/event : vide ;
  • decoded pump_fees sans coverage : vide ;
  • successful non-materialized sans skip/policy : vide ;
  • failed transaction materialization safety : vide ;
  • multi-target materialization safety : vide ;
  • anti-trade/candle direct pump_fees : vide ;
  • watchlist globale : plus aucun pump_fees, seulement jupiter_swap.route_v2 ponctuel.

Décisions Pump Fees à préserver :

  • get_fees est decoded-only ;
  • claims social fee vers k_sol_reward_events seulement si succès et montant fiable ;
  • donation/buyback vers k_sol_fee_events seulement si succès et montant fiable ;
  • config/authority/tier/update vers k_sol_pool_admin_events ;
  • create/init/extend vers k_sol_pool_lifecycle_events ;
  • aucun trade/candle direct ;
  • failed tx audit-only ;
  • les discriminators Solscan revoke_fee_sharing_authority_event et transfer_fee_sharing_authority_event restent conservés comme futures surfaces non observées.

Ne pas rouvrir pump_fees, pump_fun, pump_swap ou Raydium sauf bug prouvé par SQL/code.

3. Objectif de 0.7.56 meteora_dbc

Ouvrir et clôturer la surface meteora_dbc.

Program id cible :

dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN

IDL locale prioritaire :

idls/meteora_dbc.dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN.json

Règle forte :

Tout ce qui peut être décodé doit être décodé. Tout ce qui peut être matérialisé de façon fiable doit être matérialisé. Ce qui ne peut pas être matérialisé doit rester decoded-only/audit-only avec skip*Reason explicite.

La surface DBC doit couvrir launch/bonding curve, pool/config lifecycle, swaps exploitables, migration, fees/admin/config, et events Anchor associés.

4. Méthode obligatoire : nouvelle base SQLite

Créer une nouvelle DB dédiée à 0.7.56 meteora_dbc.

Ne pas réutiliser l'ancienne DB de validation Pump Fees sauf pour lire des signatures de départ.

Après chaque backfill ou patch decoder :

skipDexDecode=no
forceDexDecode=yes
deferInstructionObservations=yes

Puis :

  • refresh catalog ;
  • replay local ;
  • relancer SQL de validation ;
  • noter les compteurs replay.

5. Corpus et backfills

Construire le corpus local à partir de :

  1. signatures sample_signature de la watchlist globale et des coverage gaps ;
  2. filtres Solscan.io par program id + instruction/discriminator quand disponibles ;
  3. Demo3 discovery multi-source/multi-target ;
  4. batch backfill par groupes de signatures ;
  5. program/signature backfill ciblé si nécessaire ;
  6. signatures issues des requêtes SQL instruction_observations, fallback upstream et decoded-only résiduels.

Inclure explicitement les transactions failed dans le corpus d'audit, mais ne jamais les matérialiser métier.

6. Sources à comparer

Comparer au minimum :

  • idls/meteora_dbc.dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN.json ;
  • Carbon meteora-dbc-decoder ;
  • Pinax/Substreams Solana IDLs si disponibles ;
  • Solana Streamer / sol-parser-sdk si des layouts Meteora DBC y apparaissent ;
  • code local existant kb_lib/src/dex/*meteora* ;
  • upstream_registry_generated.rs ;
  • corpus SQLite neuf.

7. Matérialisation attendue

Ne pas se contenter de decoded-only si une matérialisation fiable est possible.

Cibles probables :

  • swaps exploitables -> k_sol_trade_events + candles si montants, sens, mint base/quote et pool/pair sont fiables ;
  • pool/config/create -> k_sol_pool_lifecycle_events et catalog/pool/pair si comptes fiables ;
  • liquidity/deposit/withdraw -> k_sol_liquidity_events si montants et pool fiables ;
  • migration -> lifecycle/admin selon sémantique exacte ;
  • fees/creator fees/admin/config -> k_sol_fee_events ou k_sol_pool_admin_events ;
  • events sans contexte suffisant -> decoded-only/audit-only avec skip reason.

Transactions failed : decoded-only/audit-only, jamais business matérialisées.

8. SQL de validation attendu

Créer :

validation_sql/SQL_VALIDATION_METEORA_DBC_0_7_56.sql

Requêtes minimales :

  1. upstream fallback samples meteora_dbc ;
  2. local instruction observations meteora_dbc ;
  3. coverage meteora_dbc ;
  4. decoded events meteora_dbc sans coverage ;
  5. residual upstream fallback pour entrées couvertes ;
  6. successful non-materialized sans skip reason ;
  7. failed transaction materialization safety ;
  8. multi-target materialization safety ;
  9. materialization summary par table, avec colonnes successful/failed ;
  10. instruction observation versus coverage ;
  11. anti-faux trade/candle pour events non swap ;
  12. global watchlist après replay.

9. Invariants de fermeture

La tranche 0.7.56 ne doit être considérée close que si :

  • aucun fallback upstream_git meteora_dbc ne reste pour les entrées couvertes localement ;
  • aucun decoded event meteora_dbc local sans coverage ;
  • aucune transaction failed n'alimente une table métier ;
  • aucun event multi-target incohérent ;
  • aucune ligne successful non-materialized sans skip*Reason ;
  • aucun faux trade/candle sur event non swap ;
  • toutes les instructions/events de l'IDL locale sont soit décodés/matérialisés, soit audit-only, soit non observés mais couverts par tests synthétiques ;
  • la watchlist globale ne contient plus de meteora_dbc comme backlog dominant.

10. Documentation à mettre à jour en fin de tranche

Mettre à jour :

  • CHANGELOG.md ;
  • README.md ;
  • ROADMAP.md ;
  • docs/DEX_DECODER_MATRIX.md ;
  • docs/DEX_EVENT_COVERAGE_MATRIX.md ;
  • créer docs/reports/METEORA_DBC_EVENT_COVERAGE_REPORT.md ;
  • créer validation_sql/SQL_VALIDATION_METEORA_DBC_0_7_56.sql.

11. Format de livraison attendu

Fournir un delta zip contenant uniquement les fichiers modifiés/ajoutés.

Nom recommandé :

khadhroony-bobobot-v0.7.56-meteora_dbc-delta-N-files.zip

Inclure dans chaque livraison : résumé des changements, liste exacte des fichiers modifiés, commandes cargo fmt, cargo test -p kb_lib, cargo clippy -p kb_lib --all-targets -- -D warnings, replay recommandé, SQL à exécuter et résultats attendus.