311 lines
22 KiB
Markdown
311 lines
22 KiB
Markdown
<!-- file: ROADMAP.md -->
|
||
<!-- version: 17 -->
|
||
|
||
# ROADMAP — khadhroony-bot3
|
||
|
||
## 0.1.0 — Consolidation du workspace
|
||
|
||
- [x] Créer les dix crates initiales du workspace avec le nom canonique `kb-wallet`.
|
||
- [x] Regrouper les contrats decoder/executor/materializer dans `kb-lib`.
|
||
- [x] Générer l’arborescence des modules à partir des anciennes crates.
|
||
- [x] Conserver une copie de référence complète de `khadhroony-bot2`.
|
||
- [x] Restaurer l’architecture modulaire de `kb-core` à partir de `kb_core`, avec `lib.rs` limité aux modules et réexports.
|
||
- [x] Porter exactement les contrats publics de `kb_decoder_api`.
|
||
- [x] Porter exactement les contrats publics des APIs d’exécution et de matérialisation.
|
||
- [x] Porter les modèles de `kb_model` vers `kb-lib`.
|
||
- [x] Porter les décodeurs Solana core, SPL et Metaplex déjà implémentés dans bot2.
|
||
- [x] Porter leurs matérialisateurs déjà implémentés dans bot2.
|
||
- [ ] Porter leurs exécuteurs.
|
||
- [x] Fusionner `kb_store_core` et `kb_store_pg` dans `kb-store`.
|
||
- [ ] Migrer `kb-onchain-transport` depuis l’ancienne `kb_rpc`.
|
||
- [x] Renommer structurellement la crate.
|
||
- [x] Porter les contrats JSON-RPC, rôles d’endpoints, validation, clients/pools HTTP et méthodes HTTP standard.
|
||
- [ ] Porter WebSocket, sessions et pools d’abonnements.
|
||
- [ ] Porter l’acquisition canonique `getTransaction` et `getSignaturesForAddress`.
|
||
- [ ] Porter simulation, envoi et confirmation réseau complets.
|
||
- [ ] Adapter `kb-pipeline` aux nouveaux chemins publics.
|
||
- [ ] Adapter `kb-app-demo` et rétablir les validations fonctionnelles.
|
||
- [ ] Créer ultérieurement une crate off-chain dédiée au fetch borné HTTP/IPFS/Arweave des URI de metadata, séparée des décodeurs, matérialisateurs et du replay canonique on-chain.
|
||
- [ ] Réorganiser les chemins d’export TS‑RS de `kb-lib` dans une tranche dédiée, en conservant `../frontend/ts/bindings/` comme préfixe de base.
|
||
- [ ] Auditer rétrospectivement la couverture historique des décodeurs et matérialisateurs.
|
||
|
||
### 0.1.0-pre.002 — Contrats fondamentaux consolidés
|
||
|
||
- [x] Porter les modèles partagés de `kb_model` dans `kb-lib`.
|
||
- [x] Porter les contrats publics de décodage dans `kb-lib::decoder::api`.
|
||
- [x] Porter les contrats publics de matérialisation dans `kb-lib::materializer::api`.
|
||
- [x] Porter les contrats publics d'exécution dans `kb-lib::executor::api`.
|
||
- [x] Maintenir `lib.rs` comme façade sans implémentation métier.
|
||
- [x] Valider le workspace avec Cargo sur la machine de développement.
|
||
|
||
### 0.1.0-pre.003 — Réécriture de `kb-store`
|
||
|
||
- [x] Remplacer le scaffold par une architecture intégrée contrats/adaptateurs.
|
||
- [x] Porter les DTO, entités, traits et validations store-neutral.
|
||
- [x] Porter l’adaptateur PostgreSQL, ses requêtes, diagnostics et initialisations idempotentes.
|
||
- [x] Conserver `MdCoreInstructionReplayInput` dans `kb-lib` et le réexporter depuis `kb-store`.
|
||
- [x] Supprimer la dépendance directe de `kb-store` vers `kb-config`.
|
||
- [x] Adapter les règles bot2 devenues incompatibles avec l’architecture bot3.
|
||
- [x] Valider `cargo check`, les 84 tests et Clippy pour `kb-store`, puis `cargo check --workspace`.
|
||
- [ ] Valider `cargo test --workspace` et `cargo clippy --workspace --all-targets`.
|
||
- [x] Valider les 84 tests PostgreSQL réels avec `KB_POSTGRES_TEST_URL`.
|
||
|
||
### 0.1.0-pre.004 — Décodeur Solana Core dans `kb-lib`
|
||
|
||
- [x] Remplacer le scaffold `kb-lib::decoder::solana::core` par le décodeur maximal validé de bot2.
|
||
- [x] Conserver les 18 surfaces natives, leurs 121 déclarations de couverture et leurs tests.
|
||
- [x] Adapter les contrats vers les réexports de `kb-lib` sans dépendance vers `kb-store`.
|
||
- [x] Préfixer les symboles internes afin d’éviter les collisions avec les futurs décodeurs fusionnés.
|
||
- [x] Déclarer le target hiérarchique `kb-lib.decoder.solana.core`.
|
||
- [x] Valider `cargo check -p kb-lib`, les 169 tests de `kb-lib` et les deux audits Rust.
|
||
- [ ] Valider Clippy et l’ensemble du workspace sur la machine de développement.
|
||
- [x] Poursuivre avec SPL Memo après validation.
|
||
|
||
### 0.1.0-pre.005 — Décodeur SPL Memo dans `kb-lib`
|
||
|
||
- [x] Remplacer le scaffold `kb-lib::decoder::spl::memo` par le décodeur validé de bot2.
|
||
- [x] Conserver les générations v1, v3 et v4, leurs règles distinctes et les 9 tests.
|
||
- [x] Ajouter les trois Program IDs canoniques dans `kb-program-ids` sans les classer comme natifs.
|
||
- [x] Préserver le payload borné, le SHA-256, les comptes ordonnés et les statuts non commités.
|
||
- [x] Porter la matrice machine-readable `docs/SPL_MEMO_MATRIX.json`.
|
||
- [x] Valider `kb-program-ids`, `kb-lib` et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec SPL Token classique après validation.
|
||
|
||
### 0.1.0-pre.006 — Décodeur SPL Token classique dans `kb-lib`
|
||
|
||
- [x] Remplacer le scaffold `kb-lib::decoder::spl::token` par le décodeur maximal validé de bot2.
|
||
- [x] Conserver les 28 tags publiés par `spl-token-interface 3.0.0` et les huit tests différentiels.
|
||
- [x] Préserver montants bruts, comptes ordonnés, autorités simple/multisig, suffixes et statuts non commités.
|
||
- [x] Conserver les bornes de `Batch`, ses chemins enfants et le refus des batches imbriqués.
|
||
- [x] Porter le target de tracing vers `kb-lib.decoder.spl.token`.
|
||
- [x] Rendre la contrainte `wincode 0.5.5` et `solana-wincode-varint 1.0.0` vérifiable par l’audit workspace.
|
||
- [x] Valider `kb-program-ids`, `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec le décodeur SPL Associated Token Account après validation.
|
||
|
||
### 0.1.0-pre.007 — Décodeur SPL Associated Token Account dans `kb-lib`
|
||
|
||
- [x] Remplacer le scaffold `kb-lib::decoder::spl::associated_token_account` par le décodeur exact validé de bot2.
|
||
- [x] Conserver `Create`, `CreateIdempotent`, `RecoverNested` et la forme historique `Create` à payload vide.
|
||
- [x] Préserver l’ordre des comptes, les flags, doublons, chemins outer/inner et statuts non commités.
|
||
- [x] Valider les PDA canoniques `[wallet, token_program, mint]` sans remplacer les adresses observées.
|
||
- [x] Distinguer explicitement SPL Token classique et Token‑2022 sans décoder leurs états ni extensions.
|
||
- [x] Conserver les dix tests différentiels et la matrice machine-readable ATA.
|
||
- [x] Porter le target de tracing vers `kb-lib.decoder.spl.associated_token_account`.
|
||
- [x] Valider `kb-program-ids`, les 196 tests de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec les décodeurs Token‑2022 et registre ElGamal après validation.
|
||
|
||
### 0.1.0-pre.008 — Décodeurs Token‑2022 et registre ElGamal dans `kb-lib`
|
||
|
||
- [x] Remplacer les scaffolds `token2022` et `elgamal_registry` par les décodeurs exacts validés de bot2.
|
||
- [x] Conserver les 48 enveloppes Token‑2022, les sous-instructions d’extensions identifiables et les interfaces Metadata/Group incorporées.
|
||
- [x] Porter le parseur borné des états Mint, Account et Multisig avec leurs entrées TLV ordonnées.
|
||
- [x] Maintenir le registre ElGamal comme programme indépendant avec ses deux instructions et son état de compte exact de 64 octets.
|
||
- [x] Ajouter le Program ID du registre ElGamal à `kb-program-ids` sans le classer comme surface native.
|
||
- [x] Déplacer `ProgramIdEntry` et les fonctions du registre dans `kb-program-ids/src/programs.rs`, avec `lib.rs` limité aux réexports.
|
||
- [x] Porter les targets de tracing vers `kb-lib.decoder.spl.token2022` et `kb-lib.decoder.spl.elgamal_registry`.
|
||
- [x] Conserver les 55 tests Token‑2022/ElGamal et leurs matrices machine-readable.
|
||
- [x] Valider `kb-program-ids`, les 251 tests de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec le décodeur Metaplex Token Metadata après validation.
|
||
|
||
### 0.1.0-pre.009 — Décodeur Metaplex Token Metadata dans `kb-lib`
|
||
|
||
- [x] Remplacer le scaffold `kb-lib::decoder::metadata::metaplex_token_metadata` par le décodeur maximal validé de bot2.
|
||
- [x] Conserver l’inventaire exhaustif des 58 discriminateurs d’instructions `0..=57`, y compris les variantes historiques.
|
||
- [x] Conserver l’inventaire exhaustif des 15 variantes de comptes `Key 0..=14`, avec rejet explicite de `Uninitialized`.
|
||
- [x] Porter les parseurs bornés de Metadata, Edition, Master Edition, Edition Marker, Token Record, records d’autorité et de délégation, escrow et Reservation List.
|
||
- [x] Préserver les validations d’owner, de PDA, de bump, de longueur, de suffixe, de comptes ordonnés et de provenance.
|
||
- [x] Maintenir les layouts historiques matérialisables avec lifecycle explicite mais définitivement non exécutables.
|
||
- [x] Ajouter le Program ID Metaplex Token Metadata à `kb-program-ids` sans le classer comme surface native.
|
||
- [x] Porter le target de tracing vers `kb-lib.decoder.metadata.metaplex_token_metadata`.
|
||
- [x] Conserver les 69 tests Metaplex et la matrice machine-readable exhaustive.
|
||
- [x] Valider `kb-program-ids`, les 320 tests de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec les matérialisateurs après validation du port des décodeurs prioritaires.
|
||
|
||
### 0.1.0-pre.010 — Matérialisateurs Solana natifs dans `kb-lib`
|
||
|
||
- [x] Porter `MtLifecycleMaterializer`, `MtAdminMaterializer`, `MtComplianceAuditMaterializer` et `MtStakingMaterializer` dans les modules consolidés de `kb-lib`.
|
||
- [x] Conserver leurs 50 tests de projections natives, de politique de transaction et d’idempotence.
|
||
- [x] Réexporter les types concrets et les fonctions stateful publiques depuis la façade de `kb-lib`.
|
||
- [x] Ajouter un test d’intégration aval prouvant qu’un futur crate externe peut implémenter `MtApiEventMaterializer` avec la seule API publique.
|
||
- [x] Porter les targets vers `kb-lib.materializer.admin`, `kb-lib.materializer.compliance`, `kb-lib.materializer.lifecycle` et `kb-lib.materializer.staking`.
|
||
- [x] Conserver les identités de processor historiques afin de préserver les clés de replay et d’idempotence existantes.
|
||
- [x] Ajouter la règle d’ordre et d’absence de ligne vide interne dans les blocs de réexports publics.
|
||
- [x] Valider les 370 tests unitaires et le test d’intégration de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Poursuivre avec les matérialisateurs Memo, SPL Token, ATA, Token‑2022, registre ElGamal et Metaplex.
|
||
|
||
### 0.1.0-pre.011 — Matérialisateurs SPL et Metaplex dans `kb-lib`
|
||
|
||
- [x] Porter `MtTransactionAnnotationMaterializer`, `MtTokenAccountsMaterializer`, `MtFeesMaterializer`, `MtRiskMaterializer` et `MtMetadataMaterializer`.
|
||
- [x] Conserver leurs 45 tests historiques, en plus des 370 tests unitaires déjà validés.
|
||
- [x] Réexporter à la racine les cinq types concrets, les fonctions de snapshots Token‑2022/Metaplex et les types canoniques Metaplex nécessaires à leurs signatures publiques.
|
||
- [x] Rendre privée toute l’arborescence `kb-lib::materializer` et interdire mécaniquement tout nouveau `pub mod` dans cette frontière.
|
||
- [x] Étendre les tests aval aux trois contrats d’extension publics : `DcApiProtocolDecoder`, `MtApiEventMaterializer` et `ExApiInstructionExecutor`.
|
||
- [x] Étendre l’audit aux lignes vides internes des blocs homogènes `pub use` et `pub(crate) use`.
|
||
- [x] Porter les targets de risque, comptes Token et annotations vers `kb-lib.materializer.risk`, `kb-lib.materializer.token` et `kb-lib.materializer.transaction` dans les trois profils.
|
||
- [x] Maintenir le fetch HTTP/IPFS/Arweave hors de `kb-lib`, dans une future crate off-chain dédiée.
|
||
- [x] Normaliser les symboles fusionnés avec les préfixes `DC`, `MT`, `EX` et `MD`, sans alias de réexport.
|
||
- [x] Restaurer les 98 scaffolds de décodeurs avec des constantes `DC_*` uniques et réellement référencées.
|
||
- [x] Étendre l’audit aux façades privées, aux réexports transitifs `self::`, aux alias interdits et à la complétude des APIs externes.
|
||
- [ ] Valider les 415 tests unitaires et les trois tests d’intégration de `kb-lib`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
|
||
### 0.1.0-pre.012 — Squelettes des décodeurs réservés
|
||
|
||
- [x] Remplacer les 98 frontières `LEGACY_CRATE`/`MIGRATION_STATUS` par des types `Dc*Decoder` concrets.
|
||
- [x] Implémenter `DcApiProtocolDecoder` avec une compatibilité `Maybe` et un résultat vide sans faux événement.
|
||
- [x] Conserver Anchor sans Program ID statique et rattacher les 97 autres squelettes à une surface exacte.
|
||
- [x] Ajouter les 97 Program IDs correspondants à `kb-program-ids` et porter le registre total à 130 entrées uniques.
|
||
- [x] Exposer tous les types exclusivement par la façade `kb-lib/src/lib.rs`.
|
||
- [x] Supprimer `DC_MIGRATION_BOUNDARIES`, `*_LEGACY_CRATE` et `*_MIGRATION_STATUS` de l’arborescence des décodeurs.
|
||
- [x] Ajouter un test central de contrat pour les 98 squelettes et étendre l’audit contre le retour des marqueurs temporaires.
|
||
- [x] Valider le nouveau test unitaire, les 130 Program IDs, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Vérifier puis restaurer les squelettes des familles de matérialisation encore vides.
|
||
- [ ] Passer ensuite à l’API des exécuteurs, à leurs squelettes puis au port des exécuteurs déjà implémentés dans bot2.
|
||
|
||
### 0.1.0-pre.013 — Squelettes des matérialisateurs réservés
|
||
|
||
- [x] Remplacer les 14 frontières `LEGACY_CRATE`/`MIGRATION_STATUS` par des types `Mt*Materializer` concrets.
|
||
- [x] Conserver le contrat historique `MtMaterializer` et implémenter le contrat bot3 `MtApiEventMaterializer`.
|
||
- [x] Maintenir les squelettes inactifs : aucune famille acceptée et résultat API `Ignored`.
|
||
- [x] Préserver la famille de sortie historique pour les appels directs via l’ancien contrat.
|
||
- [x] Exposer les 14 types uniquement depuis la façade `kb-lib/src/lib.rs`.
|
||
- [x] Étendre le test aval et l’audit contre le retour des marqueurs temporaires.
|
||
- [x] Aligner `RUST023` sur l’ordre naturel produit par `rustfmt`.
|
||
- [x] Valider les deux nouveaux tests unitaires, le test aval, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Vérifier la parité de l’API des exécuteurs avant de restaurer leurs squelettes.
|
||
|
||
### 0.1.0-pre.014 — API et squelettes des exécuteurs
|
||
|
||
- [x] Vérifier la parité exacte des contrats `ExApi*` avec `kb_execution_api` de bot2.
|
||
- [x] Étendre le test aval au contrat `ExApiTypedInstructionExecutor` et au plan typé public.
|
||
- [x] Remplacer les 104 frontières `LEGACY_CRATE`/`MIGRATION_STATUS` par des types `Ex*Executor` concrets.
|
||
- [x] Rattacher chaque squelette à ses Program IDs enregistrés sans dépendre des décodeurs.
|
||
- [x] Maintenir les squelettes inactifs : support `Maybe` et plan explicite à zéro instruction.
|
||
- [x] Exposer les 104 types uniquement depuis la façade `kb-lib/src/lib.rs`.
|
||
- [x] Ajouter un test central couvrant les 104 squelettes et étendre l’audit contre le retour des marqueurs temporaires.
|
||
- [x] Valider le nouveau test unitaire, le test aval, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Porter ensuite l’exécuteur Solana Core déjà validé dans bot2.
|
||
|
||
### 0.1.0-pre.015 — Exécuteur Solana Core
|
||
|
||
- [x] Porter les 109 opérations typées de `kb_executor_solana_core`.
|
||
- [x] Couvrir System, Compute Budget, Address Lookup Table, précompiles, Config, Feature, Slashing, ZK ElGamal, Stake, Vote et Loaders v3/v4.
|
||
- [x] Conserver les surfaces historiques non exécutables en refus explicite.
|
||
- [x] Préfixer les types publics `ExSolanaCore*` et les constantes `EX_SOLANA_CORE_*`.
|
||
- [x] Préserver le pont JSON historique et le contrat de plan préparé typé.
|
||
- [x] Étendre le test aval à une construction Compute Budget réelle.
|
||
- [x] Réduire les frontières réservées à 103 et adapter l’audit.
|
||
- [x] Imposer les blocs `pub use` puis `pub(crate) use`, séparés par une ligne vide.
|
||
- [x] Valider les 507 tests unitaires, les trois tests d’intégration, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Porter ensuite les exécuteurs SPL déjà validés dans bot2.
|
||
|
||
### 0.1.0-pre.016 — Safety d’exécution et exécuteur SPL Memo
|
||
|
||
- [x] Porter `kb_execution_safety` dans `kb-lib` sous les contrats `ExSafety*`.
|
||
- [x] Conserver les décisions `Deny`, `RequireConfirmation` et `Allow`, avec violations stables.
|
||
- [x] Conserver les contrôles de simulation, blockhash/nonce, cluster, signers autorisés et plafonds de coût.
|
||
- [x] Remplacer le squelette Memo par `ExSplMemoExecutor` et ses intents typés.
|
||
- [x] Maintenir Memo v1/v3 en decode-only et Memo v4 exécutable.
|
||
- [x] Construire l’instruction avec `spl-memo-interface` en conservant ordre et doublons des signers.
|
||
- [x] Étendre le test aval à un plan Memo réel et à son évaluation safety.
|
||
- [x] Réduire les frontières réservées à 102 et adapter l’audit.
|
||
- [ ] Valider les tests portés, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [ ] Porter ensuite SPL Token classique et SPL Associated Token Account.
|
||
|
||
### 0.1.0-pre.017 — Exécuteur SPL Associated Token Account
|
||
|
||
- [x] Remplacer le squelette ATA par l’exécuteur typé validé de bot2.
|
||
- [x] Conserver `Create`, `CreateIdempotent`, `RecoverNested`, les builders officiels et les validations post-exécution.
|
||
- [x] Porter le target vers `kb-lib.executor.spl.associated_token_account`.
|
||
- [x] Réduire les frontières réservées à 101.
|
||
- [x] Valider les 548 tests unitaires, les tests d’intégration, Clippy et le workspace sur la machine de développement.
|
||
|
||
### 0.1.0-pre.018 — Exécuteur SPL Token-2022
|
||
|
||
- [x] Remplacer le squelette Token-2022 par les cinq modules métier complets de bot2.
|
||
- [x] Conserver les 33 tests, les extensions, Confidential Transfer et Confidential Mint/Burn.
|
||
- [x] Porter le target vers `kb-lib.executor.spl.token2022` et la nomenclature interne vers `TOKEN2022`.
|
||
- [x] Réduire les frontières réservées à 100.
|
||
- [x] Valider les 592 tests unitaires, les tests d’intégration, Clippy et le workspace sur la machine de développement.
|
||
|
||
### 0.1.0-pre.019 — Exécuteur SPL ElGamal Registry
|
||
|
||
- [x] Remplacer le squelette ElGamal Registry par les opérations `CreateRegistry` et `UpdateRegistry` validées de bot2.
|
||
- [x] Conserver les preuves inline/contexte, la simulation obligatoire, les plafonds de frais et les validations post-exécution.
|
||
- [x] Déplacer `spl-elgamal-registry-interface` dans les dépendances normales de `kb-lib`.
|
||
- [x] Porter le target vers `kb-lib.executor.spl.elgamal_registry`.
|
||
- [x] Réduire les frontières réservées à 99.
|
||
- [x] Valider les 598 tests unitaires, les tests d’intégration, Clippy et le workspace sur la machine de développement.
|
||
|
||
### 0.1.0-pre.020 — Configuration et logging
|
||
|
||
- [x] Remplacer le scaffold `kb-config` par les modèles, parseurs, sérialiseurs, validations JSON Schema et 20 tests de bot2.
|
||
- [x] Remplacer le scaffold `kb-logging` par la configuration des routes, le runtime tracing multi-writers et les 17 tests de bot2.
|
||
- [x] Préserver `kb_logging::tracing_target()` pour la compatibilité temporaire de `kb-app-demo`.
|
||
- [x] Corriger les targets et chemins de logs de Solana Core et SPL Memo dans les trois profils.
|
||
- [x] Vérifier ATA, Token-2022 et ElGamal Registry, déjà alignés sur leurs targets bot3.
|
||
- [x] Laisser SPL Token classique sous son identité réservée tant que son exécuteur n’est pas migré.
|
||
- [x] Valider `kb-config`, `kb-logging`, Clippy et le workspace avec Cargo sur la machine de développement.
|
||
- [x] Décider le nom `kb-onchain-transport`; appliquer le renommage structurel dans `0.1.0-pre.023`.
|
||
### 0.1.0-pre.021 — Exécuteur SPL Token classique
|
||
|
||
- [x] Migrer l’exécuteur SPL Token classique, ses builders officiels, ses intents et ses tests.
|
||
- [x] Adapter le portage à l’API consolidée de `kb-lib` et supprimer les références aux anciennes crates `kb_model` et `kb_execution_safety`.
|
||
- [x] Déplacer `spl-token-interface` dans les dépendances normales de `kb-lib`.
|
||
- [x] Valider 613 tests `kb-lib`, les tests `kb-config` et `kb-logging`, Clippy et le workspace.
|
||
|
||
### 0.1.0-pre.022 — Couche transactionnelle Solana
|
||
|
||
- [x] Migrer `kb_execution_solana` dans `kb-lib::executor::solana::transaction`.
|
||
- [x] Conserver les transactions legacy, durable nonce, preuves de simulation, résolution des signataires et limites de paquet.
|
||
- [x] Adapter les tests à `solana_keypair::Keypair` sans couplage à `kb-wallet`.
|
||
- [x] Valider 625 tests `kb-lib`, Clippy et le workspace.
|
||
|
||
### 0.1.0-pre.023 — Renommage du transport on-chain
|
||
|
||
- [x] Renommer la crate scaffold `kb-rpc` en `kb-onchain-transport`.
|
||
- [x] Renommer l’identifiant Rust en `kb_onchain_transport`.
|
||
- [x] Mettre à jour le workspace, les dépendances, le lockfile, les targets et chemins de logs.
|
||
- [x] Mettre à jour les documents actifs et conserver les documents historiques bot2 inchangés.
|
||
- [ ] Valider le renommage avec Cargo sur la machine de développement.
|
||
- [ ] Migrer ensuite les contrats communs et le transport HTTP standard de l’ancienne `kb_rpc`.
|
||
|
||
|
||
|
||
### 0.1.0-pre.028 — configuration de tracing wallet
|
||
|
||
- [x] Routes canoniques `kb-wallet`.
|
||
- [x] Configuration d’exemple sans clé fournisseur en clair.
|
||
- [ ] Migration fonctionnelle de `kb-pipeline` à poursuivre à partir de `pre.029`.
|
||
|
||
|
||
### 0.1.0-pre.029 — Pipeline, fondations
|
||
|
||
- [x] Planification et scopes de replay.
|
||
- [x] Extraction canonique vers les tables core.
|
||
- [x] Backfill et replay de décodage.
|
||
- [ ] Orchestrations Solana stateful et exécution.
|
||
|
||
- [x] Migrer `decode_replay` dans `kb-pipeline`.
|
||
|
||
|
||
### 0.1.0-pre.031 — Backfill HTTP
|
||
|
||
- [x] Porter les campagnes par signatures explicites et historique d’adresse.
|
||
- [x] Conserver les directions `before` et `after`, les ancres et la pagination RPC bornée.
|
||
- [x] Conserver la reprise au dernier candidat contigu, les retries, le pacing et l’annulation coopérative.
|
||
- [x] Adapter la persistance à `kb-store` et l’acquisition à `kb-onchain-transport`.
|
||
- [x] Conserver les 14 tests bot2.
|
||
- [ ] Valider avec Cargo sur la machine de développement.
|
||
- [ ] Porter ensuite les orchestrations Solana stateful et d’exécution.
|
||
|
||
### 0.1.0-pre.033 — Pipeline stateful Token-2022
|
||
|
||
- [x] Lecture et validation stateful Token-2022.
|
||
- [x] Routage des projections matérialisées Token-2022.
|
||
- [x] Lecture et validation du registre ElGamal.
|
||
- [x] Préflight multi-comptes Token-2022 borné.
|
||
- [ ] Orchestration des preuves et de l'exécution Token-2022.
|
||
|
||
|
||
- [x] `0.1.0-pre.037` — contrôles stateful Solana natifs migrés dans `kb-pipeline`.
|