Files
khadhroony-solana-project/deltas/0.2.14/pre.006.md
2026-08-28 15:53:15 +02:00

148 lines
4.6 KiB
Markdown

<!-- file: deltas/0.2.14/pre.006.md -->
<!-- version: 1 -->
# Delta `0.2.14-pre.006` — gate technique final Program API
## 1. Base requise
Cette tranche s'applique exclusivement après `0.2.14-pre.005-fix.001`.
Le gate opérateur du fix est intégralement vert :
```text
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS / clean
python3 scripts/audit_markdown_tables.py ... PASS / clean — 173 tables / 123 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/2
cargo test --workspace PASS
cargo tree -p ksp-program-api --edges normal Core + Interface uniquement
cargo tree --duplicates inspecté
```
Le faux positif logging de `pre.005` est donc fermé sans changement de production ni de dépendances.
## 2. Objectif
Préparer le gate technique final de `0.2.14` sans rouvrir la surface fonctionnelle.
Aucun nouveau type, trait, test métier, registry, codec, runtime ou comportement n'est ajouté. Les canaris existants couvrent déjà :
```text
ProgramInstructionRecognition
ProgramInstructionDecodeOutcome<Decoded>
ProgramInstructionDecoder: Send + Sync
associated Decoded sans bounds implicites
extension externe avec Pubkey non enregistré
NoMatch / ProgramMatch / ExactMatch
Decoded / Unsupported / Err Core
input Interface maximal 255 comptes / 10 240 bytes
Debug outcome opaque
façade crate-root exacte
inventaire de production exact
absence de ProgramKind / registry / preparer / payload D3
absence de serde / JSON / Any / codecs
absence de logging runtime / IO
firewall Core + Interface
```
## 3. Décision de tranche
`pre.006` reste un gate pur. Ajouter un nouveau test uniquement pour matérialiser le numéro de prerelease augmenterait la surface de changement sans renforcer une propriété non couverte.
La tranche modifie donc seulement la version workspace, le plan, la validation et le présent delta.
## 4. Version
La prerelease non-fix synchronise la version Cargo conformément à `VER-ID-009` :
```text
0.2.14-pre.5.fix.1
0.2.14-pre.6
```
Commit attendu après validation :
```text
v0.2.14-pre.006
```
Aucun tag prerelease.
## 5. Fichier ajouté
```text
deltas/0.2.14/pre.006.md
```
## 6. Fichiers modifiés
```text
Cargo.toml
docs/plans/021-V0_2_14_PROGRAM_API_PLAN.md
docs/validation/017-V0_2_14_PROGRAM_API.md
```
## 7. Fichiers supprimés
Aucun.
## 8. Surface explicitement inchangée
```text
crates/ksp-program-api/src/**
crates/ksp-program-api/tests/**
crates/ksp-program-api/unit_tests/**
crates/ksp-program-api/Cargo.toml
crates/ksp-program-api/README.md
crates/ksp-program-api/USAGE.md
CHANGELOG.md
ROADMAP.md
prompts/**
architectures / règles
```
La réconciliation README/USAGE et des documents durables reste réservée à `pre.007`. La préparation du prompt suivant, du CHANGELOG et du ROADMAP reste réservée à `pre.008`.
## 9. Validations exécutées à la génération
```text
python3 scripts/audit_rust_workspace_rules.py PASS / clean
python3 scripts/audit_markdown_tables.py ... PASS / clean — 174 tables / 124 fichiers
contrôle du diff PASS / 3 modifiés + 1 ajouté
```
Aucun `cargo` n'est disponible dans l'environnement de génération ; aucun PASS Cargo local n'est revendiqué.
## 10. Gate opérateur
```bash
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 -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
```
## 11. Décisions prises
- le scope fonctionnel `0.2.14` est figé ;
- aucun nouveau contrat Program n'est introduit ;
- aucun registry, payload D3 ou `ProgramExecutionPreparer` n'est anticipé ;
- Program API reste déclarative et sans logging runtime ;
- Core + Interface restent les seules dépendances normales ;
- aucun smoke réseau n'est pertinent pour cette crate instruction-only sans I/O ;
- `pre.007` ne commence qu'après gate `pre.006` intégralement vert.
## 12. Questions ouvertes
Aucune question technique bloquante pour `0.2.14`. Après gate vert, la seule étape suivante est la réconciliation documentaire finale.