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.versionde0.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, niROADMAP.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 :
0.2.14-pre.008est la candidate directe de la release stable ;- les lanes technique, documentaire et préparation de publication sont closes ;
CHANGELOG.md,ROADMAP.mdetprompts/020-V0_3_1_START_PROMPT.mdrestent inchangés dansrel.001;ksp-program-apireste instruction-only et sans runtimeksp-program-lib;- l'output typé reste possédé par l'implémentation et aucun registry hétérogène n'est promis par la foundation ;
- l'archive historique
khadhroony-bot3_v0.5.3-pre.005-fix010.zipest obligatoire pour l'audit0.3.1-pre.001, mais reste une source historique non normative ; 0.3.1ouvreksp-store-api+ksp-store-libavec PostgreSQL de référence et persistence RAW-only ;- 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.