v0.2.14-pre.008

This commit is contained in:
2026-08-28 16:50:48 +02:00
parent 2cf00e9426
commit 7dfe892467
5 changed files with 1735 additions and 5 deletions

View File

@@ -1,8 +1,16 @@
<!-- file: CHANGELOG.md -->
<!-- version: 17 -->
<!-- version: 18 -->
# Changelog KSP
## 0.2.14 — Program API foundation — 2026-08-28
`0.2.14` introduit `ksp-program-api` comme première API publique extensible du domaine Program, volontairement limitée au décodage dinstructions et indépendante des runtimes supérieurs. La façade réexporte les contrats Core/Interface nécessaires puis possède `ProgramInstructionRecognition` (`NoMatch`, `ProgramMatch`, `ExactMatch`), `ProgramInstructionDecodeOutcome<Decoded>` (`Decoded`, `Unsupported`) et le trait `ProgramInstructionDecoder: Send + Sync`. Loutput `Decoded` reste possédé par limplémentation et ne reçoit aucun bound implicite `Debug`, `Clone`, `Send` ou `Sync`; les erreurs réelles restent dans le `Result` Core. Les Program IDs sont des `Pubkey` opaques : une implémentation externe peut prendre en charge un programme absent du registry Core sans enum centrale fermée, `Any`, JSON, descriptor global ni registry runtime.
Le graphe normal final reste strictement `ksp-program-api -> ksp-core-lib + ksp-interface-lib`, Interface dépendant elle-même de Core. Aucun `ksp-program-lib`, codec, serde, logging, réseau, filesystem, environnement, Store, Materializer, Wallet, Config ou Tauri nentre dans cette foundation. Les canaris public API, implémentation externe, dependency firewall, release completeness et hardening couvrent notamment linventaire exact de dix exports crate-root, les trois modules de production, un Program Pubkey non enregistré, linput Interface maximal de 255 accounts / 10 240 bytes, labsence decho automatique dun payload hostile et labsence de claim `dyn` hétérogène. `pre.005-fix.001` corrige uniquement un faux positif cross-crate du scanner Logging provoqué par le motif de test recherché, sans changement fonctionnel. Les gates `pre.006` et `pre.007` passent ensuite audits Rust/Markdown, `cargo check`, Clippy, les 18 tests Program API, ownership Logging et le workspace complet avant la réconciliation documentaire finale.
`prompts/020-V0_3_1_START_PROMPT.md` ouvre `0.3.1 — Store RAW foundation` exclusivement depuis le tag stable `v0.2.14`. Le gate `pre.001` exige également larchive historique `khadhroony-bot3_v0.5.3-pre.005-fix010.zip` afin dauditer lancien `ks-store`, ses migrations PostgreSQL et ses contrats N1/N2/N3 sous une matrice `REPRENDRE / REDESSINER / REPORTER / REJETER`. Larchive reste une source historique uniquement : `0.3.1` doit créer `ksp-store-api` et `ksp-store-lib` avec PostgreSQL de référence et persistence **RAW seulement**, sans aspirer les contrats CORE/DECODE/SPECIALIZED, les jobs/workers, lInterface `0.3.2` ni la configuration produit.
## 0.2.13 — Interface / wire foundation — 2026-08-28
`0.2.13` introduit `ksp-interface-lib` comme première façade wire officielle KSP, volontairement passive et Program-facing. La surface stable réexporte le `Pubkey` canonique de Core, ajoute `ProgramAccountMeta` et `ProgramInstruction` à champs privés avec accessors explicites, conserve lordre et les doublons des account metas, accepte les Program Pubkeys opaques et borne ladmission à **255 account metas** et **10 240 octets** de data. Les deux bornes sont des limites dadmission Interface et ne prétendent pas garantir à elles seules le fit dune transaction Solana top-level. Les erreurs réutilisent le contrat Core `Error/Result` avec uniquement `field`, `actual_len` et `maximum_len`, tandis que le `Debug` de linstruction nexpose que `program_id`, `account_count` et `data_len`.