Files
khadhroony-solana-project/deltas/0.2.14/rel.001.md
2026-08-28 16:56:06 +02:00

10 KiB

Delta 0.2.14-rel.001 — publication stable Program API foundation

1. Base requise

Base directe attendue :

0.2.14-pre.008
workspace.package.version = 0.2.14-pre.8

Commit attendu pour cette livraison :

v0.2.14-rel.001

Tag stable attendu après validation :

v0.2.14

2. Responsabilité de rel.001

Cette livraison effectue uniquement la mécanique de publication stable définie par le cycle KSP et VER-LIFECYCLE-012.

Elle :

  • passe workspace.package.version de 0.2.14-pre.8 à 0.2.14 ;
  • ajoute le présent delta rel.001 ;
  • ne corrige ni code, ni test, ni manifest de crate, ni README/USAGE, ni plan/validation, ni architecture/règle, ni prompt, ni CHANGELOG.md, ni ROADMAP.md.

Tout défaut appartenant à un couloir antérieur doit renvoyer vers une prerelease appropriée ; rel.001 n'est jamais une tranche de rattrapage.

3. Preuves acquises avant publication

Le gate opérateur du gate technique final 0.2.14-pre.006, exécuté le 28 août 2026, a validé :

cargo fmt --all                                      PASS
python3 scripts/audit_rust_workspace_rules.py        PASS
  General Rust rule audit                            clean
  Rust export completeness audit                     0 candidate(s)
  KSP workspace Rust rule audit                      clean
python3 scripts/audit_markdown_tables.py             PASS — 174 tables / 124 fichiers
cargo check --workspace                              PASS
cargo clippy --workspace --all-targets               PASS
cargo test -p ksp-program-api                        PASS — 18 tests Rust
cargo test -p ksp-logging-lib --test ownership       PASS — 2 tests
cargo test --workspace                               PASS
cargo tree -p ksp-program-api --edges normal         PASS / inspecté
cargo tree --duplicates                              PASS / inspecté

Le graphe normal ciblé est resté strictement :

ksp-program-api
├── ksp-core-lib
│   └── solana-pubkey
└── ksp-interface-lib
    └── ksp-core-lib

Le gate opérateur de la réconciliation documentaire 0.2.14-pre.007, exécuté le 28 août 2026, a ensuite validé :

cargo fmt --all                                      PASS
python3 scripts/audit_rust_workspace_rules.py        PASS
  General Rust rule audit                            clean
  Rust export completeness audit                     0 candidate(s)
  KSP workspace Rust rule audit                      clean
python3 scripts/audit_markdown_tables.py             PASS — 175 tables / 125 fichiers
cargo check --workspace                              PASS
cargo clippy --workspace --all-targets               PASS
cargo test -p ksp-program-api                        PASS — 18 tests Rust
cargo test -p ksp-logging-lib --test ownership       PASS
cargo test --workspace                               PASS

Enfin, le gate opérateur de la préparation minimale de publication 0.2.14-pre.008, exécuté le 28 août 2026, a validé :

cargo fmt --all                                      PASS
python3 scripts/audit_rust_workspace_rules.py        PASS
  General Rust rule audit                            clean
  Rust export completeness audit                     0 candidate(s)
  KSP workspace Rust rule audit                      clean
python3 scripts/audit_markdown_tables.py             PASS — 175 tables / 127 fichiers
cargo check --workspace                              PASS
cargo clippy --workspace --all-targets               PASS
cargo test -p ksp-program-api                        PASS — 18 tests Rust
cargo test -p ksp-logging-lib --test ownership       PASS
cargo test --workspace                               PASS

pre.008 n'a rouvert aucun code, test, README/USAGE, plan, validation ou architecture. Elle a préparé uniquement Cargo.toml, CHANGELOG.md, ROADMAP.md, le prompt suivant et son delta.

Le seul incident technique de la release, le faux positif cross-crate du scanner Logging observé en pre.005, a été corrigé dans pre.005-fix.001 sans changement fonctionnel ; son gate ciblé puis le workspace complet sont passés avant l'ouverture de pre.006.

4. Version stable publiée

La version Cargo devient :

workspace.package.version = 0.2.14

La release stable publiée est :

0.2.14 — Program API foundation

La surface stable comprend :

ksp-program-api
ProgramInstructionRecognition
  NoMatch
  ProgramMatch
  ExactMatch
ProgramInstructionDecodeOutcome<Decoded>
  Decoded(Decoded)
  Unsupported
ProgramInstructionDecoder: Send + Sync
  associated type Decoded
  program_ids(&self) -> &[Pubkey]
  recognize(&self, &ProgramInstruction) -> ProgramInstructionRecognition
  decode(&self, &ProgramInstruction) -> Result<ProgramInstructionDecodeOutcome<Self::Decoded>>
10 exports crate-root exacts
3 modules/fichiers Rust de production exacts
Program Pubkey opaque non enregistré supporté
output Decoded possédé par l'implémentation externe
aucun bound implicite Debug / Clone / Send / Sync sur Decoded

La dependency direction stable reste :

ksp-program-api
    -> ksp-core-lib
    -> ksp-interface-lib
        -> ksp-core-lib

Sont volontairement absents de cette foundation :

ksp-program-lib
registry runtime / dyn registry
ProgramKind / descriptor global
identity / version / coverage
proofs / diagnostics de replay
ProgramAccountDecoder
ProgramEventDecoder
ProgramReturnDataDecoder
ProgramExecutionPreparer
payload canonique D3
serde / serde_json / Any
borsh / wincode / bincode
ksp-logging-lib / tracing runtime
réseau / filesystem / environnement
Store / Materializer / Wallet / Config / Tauri

ProgramInstructionRecognition::ExactMatch reste une assertion de reconnaissance du decoder et non une preuve indépendante. Les erreurs réelles restent transportées par le Result Core ; Unsupported représente un état de décodage non supporté et non une erreur artificielle.

5. Fichiers ajoutés

deltas/0.2.14/rel.001.md

6. Fichiers modifiés

Cargo.toml

7. Fichiers supprimés

aucun

8. Validations exécutées pour préparer le delta

Contrôles statiques de l'overlay :

Cargo.toml                         version 0.2.14
Cargo.toml                         header version 322
payload rel.001                    2 fichiers exactement
CHANGELOG.md                       non rouvert
ROADMAP.md                         non rouvert
prompt 020                         non rouvert
README/USAGE                       non rouverts
plan / validation                  non rouverts
code / tests                       non rouverts
aucun fichier de rattrapage        présent

La préparation de l'archive ne rejoue aucun test Cargo dans l'environnement de génération. Le gate stable final reste à exécuter après application du delta et avant commit/tag.

9. Validations non exécutées pendant la préparation

Ne sont volontairement pas rejoués pour construire l'overlay :

cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-program-api
cargo test -p ksp-logging-lib --test ownership
cargo test --workspace
cargo tree -p ksp-program-api --edges normal
cargo tree --duplicates
smokes réseau/live

Le changement est limité au signal de version Cargo et au présent delta ; ces contrôles doivent uniquement être rejoués dans le gate stable défini ci-dessous lorsque requis.

10. Validation stable après application

Exécuter avant publication :

cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.2.14
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace

Aucun smoke réseau/live ni nouveau graphe Cargo n'est requis : rel.001 ne modifie ni runtime, ni code métier, ni dépendances.

11. Décisions de publication

Aucune nouvelle décision fonctionnelle ou architecturale n'est introduite par rel.001.

La publication confirme uniquement que :

  1. 0.2.14-pre.008 est la candidate directe de la release stable ;
  2. les lanes technique, documentaire et préparation de publication sont closes ;
  3. CHANGELOG.md, ROADMAP.md et prompts/020-V0_3_1_START_PROMPT.md restent inchangés dans rel.001 ;
  4. ksp-program-api reste instruction-only et sans runtime ksp-program-lib ;
  5. l'output typé reste possédé par l'implémentation et aucun registry hétérogène n'est promis par la foundation ;
  6. l'archive historique khadhroony-bot3_v0.5.3-pre.005-fix010.zip est obligatoire pour l'audit 0.3.1-pre.001, mais reste une source historique non normative ;
  7. 0.3.1 ouvre ksp-store-api + ksp-store-lib avec PostgreSQL de référence et persistence RAW-only ;
  8. la prochaine release s'ouvre exclusivement depuis le tag stable v0.2.14.

12. Questions ouvertes

Aucune question ouverte ne bloque la publication de 0.2.14.

Les choix de registry/runtime Program, payload canonique D3, decoders account/event/return-data et préparation d'exécution restent explicitement reportés. Ils ne constituent pas une dette bloquante de cette foundation et ne doivent pas être réintroduits pendant la publication stable.

Le détail du modèle RAW, de l'API backend-agnostic Store, du schéma PostgreSQL et des migrations appartient à l'audit/sizing de 0.3.1-pre.001.

13. Commit et tag stable

Après succès du gate stable :

commit : v0.2.14-rel.001
tag    : v0.2.14

Aucun tag intermédiaire rel.001 n'est requis.

Commandes Git typiques :

git add Cargo.toml deltas/0.2.14/rel.001.md
git commit -m "v0.2.14-rel.001"
git tag v0.2.14
git push
git push origin v0.2.14

14. Suite

Après publication du tag stable v0.2.14, ouvrir :

0.3.1-pre.001 — Store RAW foundation

avec :

prompts/020-V0_3_1_START_PROMPT.md

La session suivante doit recevoir :

archive opérateur exacte de v0.2.14
khadhroony-bot3_v0.5.3-pre.005-fix010.zip

0.3.1-pre.001 reste une tranche d'audit/brainstorming/sizing avant toute implémentation lourde ; elle doit auditer l'ancien ks-store et PostgreSQL actuel, définir le minimum RAW réellement replayable, choisir le modèle API/backend extensible et préserver les reports 0.3.2/0.3.3/0.3.4 ainsi que CORE/DECODE/SPECIALIZED.