207 lines
9.8 KiB
Markdown
207 lines
9.8 KiB
Markdown
<!-- file: CHANGELOG.md -->
|
||
<!-- version: 10 -->
|
||
|
||
# CHANGELOG — khadhroony-bot3
|
||
|
||
Ce changelog décrit les évolutions fonctionnelles globales du projet. Il ne recense pas les prereleases, les correctifs `fix` ni le détail de chaque delta. Ces informations appartiennent aux changelogs des crates concernées.
|
||
|
||
## 0.1.0-mig-from-kbot2 — transition architecturale vers khadhroony-bot3
|
||
|
||
Cette entrée de transition regroupe la migration structurelle et fonctionnelle commencée depuis `khadhroony-bot2`. Elle identifie la campagne `0.1.0-pre.*` de bot3 sans constituer une version fonctionnelle équivalente à bot2 `0.1.0` ni un alignement officiel sur `0.4.6`.
|
||
|
||
### Architecture
|
||
|
||
- consolidation de plus de 250 crates historiques en 11 crates de workspace ;
|
||
- regroupement des modèles, décodeurs, exécuteurs et matérialisateurs dans `kb-lib` ;
|
||
- consolidation du stockage dans `kb-store` ;
|
||
- renommage de `kb-rpc` en `kb-onchain-transport` ;
|
||
- migration du pipeline dans `kb-pipeline` ;
|
||
- extraction des scénarios de démonstration dans `kb-pipeline-demo-scenarios` ;
|
||
- maintien de `kb-app-demo-desktop` comme crate mixte bibliothèque et binaire ;
|
||
- migration et renommage du portefeuille en `kb-wallet`.
|
||
|
||
### Normes
|
||
|
||
- adoption de Rust 2024 et des règles strictes du workspace bot3 ;
|
||
- interdiction des paniques implicites et des erreurs opaques dans le code de production ;
|
||
- normalisation des exports publics, des en-têtes de fichiers, du tracing et des conventions de modules ;
|
||
- ajout d’audits automatiques des règles Rust, des exports et des contraintes Khadhroony ;
|
||
- adoption d’un contrat documentaire par crate fondé sur `README.md`, `TODO.md`, `USAGE.md` et `CHANGELOG.md`.
|
||
|
||
### Migration fonctionnelle
|
||
|
||
- migration du stockage canonique, des observations, de l’extraction Core et du replay ;
|
||
- migration des transports HTTP, WebSocket, acquisition canonique, soumission et confirmation ;
|
||
- migration des décodeurs, matérialisateurs et exécuteurs Solana Core et SPL jusqu’à un périmètre proche de bot2 `0.4.6` ;
|
||
- migration du décodeur Metaplex Token Metadata commencé pendant bot2 `0.4.7` ;
|
||
- migration des préflights et orchestrations stateful Token-2022 ;
|
||
- conservation de Memo v1 et v3 en décodage uniquement et de Memo v4 comme génération exécutable.
|
||
|
||
### Validation
|
||
|
||
- validation du workspace, des audits et des tests ciblés pendant les prereleases `0.1.0-pre.*` ;
|
||
- validation Devnet de Solana Core System Transfer, Memo v4, ATA classique, ATA Token-2022, SPL Token classique et huit opérations Token-2022 ;
|
||
- validation des parcours de simulation, confirmation opérateur, envoi, insertion canonique, extraction Core, replay, matérialisation et idempotence pour les scénarios couverts ;
|
||
- registre ElGamal non déclaré validé, faute de fixture de preuve, de raccordement desktop fonctionnel et de confirmation de déploiement réseau.
|
||
|
||
# Historique fonctionnel de khadhroony-bot2
|
||
|
||
Les sections dont le numéro porte le suffixe `-kbot2` décrivent exclusivement les versions et travaux réalisés dans `khadhroony-bot2`. Elles constituent l’historique fonctionnel du projet d’origine et ne représentent pas des versions publiées de `khadhroony-bot3`.
|
||
|
||
`khadhroony-bot3` résulte de la migration et de la consolidation de cette base historique dans une nouvelle architecture. Son futur alignement de version sera décidé après la clôture de l’audit `0.4.6`.
|
||
|
||
La future version fonctionnelle `0.4.7` de `khadhroony-bot3` devra réunir :
|
||
|
||
- la clôture des écarts résiduels de migration ;
|
||
- les capacités historiques de bot2 nécessaires à l’alignement ;
|
||
- les travaux Metaplex Token Metadata déjà réalisés puis migrés ;
|
||
- l’achèvement des éléments de l’objectif `0.4.7-kbot2` restés incomplets, notamment l’exécuteur, l’intégration au pipeline, les démonstrations et les validations finales.
|
||
|
||
Les entrées `0.0.1-kbot2` à `0.4.6-kbot2` décrivent des versions fonctionnelles clôturées de bot2. L’entrée `0.4.7-kbot2` décrit une version interrompue en cours de développement par la migration vers bot3.
|
||
|
||
## 0.4.7-kbot2 — Metaplex Token Metadata interrompu par la migration bot3
|
||
|
||
Cette section décrit l’objectif `0.4.7` commencé dans `khadhroony-bot2` après la clôture de `0.4.6-kbot2`. Cet objectif a été interrompu avant sa finalisation afin de réaliser la migration architecturale vers `khadhroony-bot3`.
|
||
|
||
- implémentation du décodeur Metaplex Token Metadata dans bot2 ;
|
||
- implémentation de la matérialisation associée dans bot2 ;
|
||
- interruption volontaire du développement de cette surface afin de réaliser la migration architecturale vers `khadhroony-bot3` ;
|
||
- reprise du décodeur pendant la migration vers bot3 ;
|
||
- exécuteur, intégration complète au pipeline, scénarios de démonstration et validations finales reportés vers l’objectif fonctionnel `0.4.7` de `khadhroony-bot3`.
|
||
|
||
## 0.4.6-kbot2 — Token-2022, extensions et registre ElGamal
|
||
|
||
- couverture bornée de Token-2022, de ses extensions et des interfaces externes associées ;
|
||
- préflight, orchestration de preuves, corrélation stateful, validation et matérialisation ;
|
||
- intégration du registre ElGamal avec validation synthétique et garde-fous fail-closed ;
|
||
- absence de validation réelle du registre ElGamal sur Devnet ou Mainnet.
|
||
|
||
## 0.4.5-kbot2 — SPL Associated Token Account
|
||
|
||
- décodage et exécution des créations ATA classiques et Token-2022 ;
|
||
- vérification des PDA, de l’ordre des seeds et des contrats officiels ;
|
||
- intégration aux matérialisateurs et au pipeline de validation.
|
||
|
||
## 0.4.4-kbot2 — SPL Token classique
|
||
|
||
- couverture des instructions SPL Token classiques, y compris opérations checked, multisig, native token et batch borné ;
|
||
- matérialisation des comptes, autorités, délégations, risques et changements administratifs ;
|
||
- exécution typée, préflight, simulation-first et validation des signers.
|
||
|
||
## 0.4.3-kbot2 — SPL Memo v1, v3 et v4
|
||
|
||
- décodage borné des trois générations ;
|
||
- matérialisation des annotations transactionnelles ;
|
||
- exécution limitée à Memo v4 ;
|
||
- validation Devnet de Memo v4.
|
||
|
||
## 0.4.2-kbot2 — exécution native et RPC Solana standard
|
||
|
||
- infrastructure d’exécution Solana Core ;
|
||
- couverture des programmes natifs, loaders, précompiles et opérations supportées ;
|
||
- simulation, soumission, confirmation et politiques de sécurité ;
|
||
- matrice d’exécution native et contrats de transaction legacy ou durable nonce.
|
||
|
||
## 0.4.1-kbot2 — programmes Solana natifs
|
||
|
||
- décodage des programmes natifs, loaders, Compute Budget, Address Lookup Table, Stake, Vote et précompiles ;
|
||
- matérialisations lifecycle, administration, compliance et staking ;
|
||
- extraction et replay contextualisés.
|
||
|
||
## 0.4.0-kbot2 — infrastructure de décodage et matérialisation
|
||
|
||
- contrats communs de décodeurs, support, compatibilité et replay ;
|
||
- ledger de traitement et matérialisation optionnelle ;
|
||
- matrices contractuelles exécutables et tests de couverture.
|
||
|
||
## 0.3.4-kbot2 — extraction Core et clôture de la fondation transactionnelle
|
||
|
||
- extraction des transactions canoniques vers les tables Core ;
|
||
- replay déterministe et traitement idempotent ;
|
||
- ledger de progression et reprise bornée.
|
||
|
||
## 0.3.3-kbot2 — backfill HTTP
|
||
|
||
- acquisition historique gratuite par adresse et signatures ;
|
||
- pagination, retries, annulation coopérative et reprise déterministe ;
|
||
- démonstration applicative du backfill.
|
||
|
||
## 0.3.2-kbot2 — contrat canonique et adaptateur HTTP
|
||
|
||
- définition d’une transaction Solana canonique indépendante du fournisseur ;
|
||
- conversions explicites depuis les réponses RPC ;
|
||
- conservation sans perte des données nécessaires au replay.
|
||
|
||
## 0.3.1-kbot2 — transaction canonique et observations
|
||
|
||
- séparation entre payload canonique et observations d’acquisition ;
|
||
- migration du schéma PostgreSQL vers les tables raw, observations et Core actives ;
|
||
- suppression de la duplication durable des payloads complets.
|
||
|
||
## 0.3.0-kbot2 — cadrage des sources temps réel
|
||
|
||
- étude d’un nœud Agave local ;
|
||
- abandon temporaire comme source légère en raison du coût matériel ;
|
||
- réorientation vers des transports interchangeables.
|
||
|
||
## 0.2.5-kbot2 — diagnostics PostgreSQL
|
||
|
||
- fenêtres de diagnostic du backend, du schéma et des tables raw/Core ;
|
||
- initialisation contrôlée du schéma au démarrage ;
|
||
- diagnostics strictement read-only.
|
||
|
||
## 0.2.4-kbot2 — stockage Core Solana
|
||
|
||
- tables Core normalisées ;
|
||
- construction des entrées de replay instruction-level ;
|
||
- migrations et initialisation idempotentes.
|
||
|
||
## 0.2.3-kbot2 — stockage brut Solana
|
||
|
||
- stockage idempotent des transactions et notifications brutes ;
|
||
- index minimaux et cycle de vie initial des données.
|
||
|
||
## 0.2.2-kbot2 — infrastructure PostgreSQL
|
||
|
||
- connexion, migrations, healthcheck et conventions de schéma ;
|
||
- tests PostgreSQL réels optionnels.
|
||
|
||
## 0.2.1-kbot2 — contrats de stockage
|
||
|
||
- DTO, entités et repositories du stockage ;
|
||
- contrats de replay instruction-level.
|
||
|
||
## 0.2.0-kbot2 — conventions SQL et base de données
|
||
|
||
- séparation des contrats de stockage et de l’implémentation PostgreSQL ;
|
||
- règles de nommage, migrations et erreurs structurées.
|
||
|
||
## 0.1.3-kbot2 — transports Solana initiaux
|
||
|
||
- clients HTTP et WebSocket Solana standard ;
|
||
- rôles d’endpoints, pools et configuration des sources.
|
||
|
||
## 0.1.2-kbot2 — intégration configuration, logging et desktop
|
||
|
||
- liaison de la configuration typée et du logging à l’application Tauri ;
|
||
- première démonstration intégrée.
|
||
|
||
## 0.1.1-kbot2 — configuration typée
|
||
|
||
- profils validés, schéma JSON et chargement structuré ;
|
||
- gestion explicite des erreurs de configuration.
|
||
|
||
## 0.1.0-kbot2 — logging structuré
|
||
|
||
- infrastructure de logging et tracing ;
|
||
- configuration des targets et sorties.
|
||
|
||
## 0.0.2-kbot2 — squelette stabilisé
|
||
|
||
- conventions initiales du workspace et premières crates ;
|
||
- validation du build de base.
|
||
|
||
## 0.0.1-kbot2 — création du projet
|
||
|
||
- création du workspace initial khadhroony-bot2.
|