1.5 KiB
kb_decoder_api
Ce crate déclare l'interface commune des décodeurs protocolaires.
Rôle dans l'écosystème
Ce module fait partie du découpage strict de Khadhroony Bot2. Il doit conserver des dépendances limitées et ne pas contourner les interfaces communes du workspace.
Règles locales
- Les commentaires de code restent en anglais.
- La documentation Markdown reste en français.
- Les exports publics sont contrôlés depuis
lib.rslorsque le crate expose une bibliothèque. - Les binaires utilisent
main.rsavec les attributs Rust obligatoires.
Contrats 0.4.0 et contexte core 2
Le trait InstructionDecoder reçoit exclusivement CoreInstructionReplayInput. Il expose une identité et une version stables, les surfaces supportées, la couverture déclarée, la reconnaissance déterministe et un résultat explicite decoded, ignored, unsupported ou failed. Les observations produites conservent la preuve, la confiance, le statut on-chain et le caractère commité ou annulé.
Depuis 0.4.1-pre.014, le même contrat inclut les payloads ordonnés des instructions outer. contextual_input_hash sérialise l’ensemble du contexte, trie récursivement les clés d’objets et conserve l’ordre des tableaux. Un changement de payload outer modifie donc le hash, tandis qu’un contexte identique produit un hash stable.
Le crate reste indépendant de PostgreSQL, Tauri et des fournisseurs RPC.