Files
khadhroony-solana-project/deltas/0.2.11/pre.013.md
2026-08-26 17:41:00 +02:00

246 lines
7.8 KiB
Markdown

<!-- file: deltas/0.2.11/pre.013.md -->
<!-- version: 1 -->
# Delta `0.2.11-pre.013` — préparation de publication minimale
## 1. Base
```text
0.2.11-pre.012
```
Cette tranche est exclusivement le couloir de préparation de publication. Conformément à `docs/rules/PROMPT_STRUCTURE.md` et `docs/rules/FILE_CONTRACTS.md`, elle ne modifie aucun code fonctionnel, test, schema, Config, README, USAGE, plan, validation, architecture ou règle normative.
Le payload fonctionnel est limité à :
```text
prompt de démarrage 0.2.12
CHANGELOG.md
ROADMAP.md
```
avec les deux fichiers mécaniques autorisés :
```text
Cargo.toml
deltas/0.2.11/pre.013.md
```
## 2. Gate `pre.012`
Le gate opérateur `pre.012` du `2026-08-26` est entièrement vert :
```text
cargo fmt --all PASS
Rust workspace audit PASS / 0 export candidate
Markdown audit PASS / 127 tables / 122 files
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test --workspace PASS
```
Les suites directement concernées conservent notamment :
```text
Off-chain Transport unit 58/58 PASS
Off-chain dependency boundary 6/6 PASS
Off-chain public API 7/7 PASS
Off-chain release completeness 2/2 PASS
Off-chain security hardening 3/3 PASS
Config unit 120/120 PASS
Config ownership 5/5 PASS
Config public API 16/16 PASS
```
Les smokes live restent `ignored` dans le workspace normal. Le re-smoke keyless `pre.011-fix.001` acquis avant la réconciliation documentaire reste la preuve live finale :
```text
7/7 providers keyless PASS
```
Le smoke keyed reste explicitement `SKIP opérateur` et n'est pas requalifié.
## 3. Version technique
```text
workspace.package.version = 0.2.11-pre.13
commit attendu = v0.2.11-pre.013
aucun tag prerelease
```
Le changement Cargo est mécanique ; aucune sémantique runtime ne change.
## 4. Relecture préalable au prompt `0.2.12`
Avant rédaction du prompt, les sources normatives ont été relues, notamment :
```text
docs/rules/PROMPT_STRUCTURE.md
docs/rules/VERSION_WORKFLOW.md
docs/rules/RULES_DOCUMENTATION.md
docs/rules/RULES_GENERAL.md
docs/rules/RULES_DEPENDENCIES.md
docs/rules/RULES_KSP.md
docs/rules/FILE_CONTRACTS.md
docs/architecture/000-README.md
docs/architecture/002-LAYERS_AND_DEPENDENCIES.md
docs/architecture/003-COMPONENT_CONTRACTS.md
docs/architecture/004-COMPONENT_INVENTORY.md
docs/architecture/005-DEPENDENCY_GRAPH.md
docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md
```
La rédaction a aussi confronté :
```text
prompts/011-V0_2_6_START_PROMPT.md
prompts/015-V0_2_10_START_PROMPT.md
prompts/016-V0_2_11_START_PROMPT.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/018-V0_2_11_OFFCHAIN_PRICE_TRANSPORT_PLAN.md
docs/validation/014-V0_2_11_OFFCHAIN_PRICE_TRANSPORT.md
crates/ksp-offchain-transport-lib public API
ksp-config-lib Off-chain adapter/composite/packaging
ksp-app-config-desk gabarit Tauri actuel
ksp-app-wallet-desk composition/runtime actuel
```
Les sources officielles Tauri 2 actuelles sur configuration, sécurité et capabilities ainsi que la référence TS-RS sont inscrites dans le prompt comme sources externes à réauditer en `0.2.12-pre.001`. Aucune version historique n'est transformée en pin.
## 5. Prompt `0.2.12`
Ajout de :
```text
prompts/017-V0_2_12_START_PROMPT.md
```
Le prompt ouvre exclusivement :
```text
v0.2.11 -> 0.2.12-pre.001
```
Mission :
```text
1. créer ksp-app-solprices-desk comme HID provider-agnostic
2. valider inventory/price/availability/freshness + refresh single/many/all
3. intégrer ensuite la même capacité générique dans ksp-app-wallet-desk
4. ne dupliquer aucune récupération/normalisation provider dans les applications
```
Les décisions acquises sont reprises depuis l'architecture et la clôture `0.2.11` :
```text
SOL/USD V1 existant
8 providers sous Off-chain Transport
aucun provider concret hardcodé dans l'app
Config propriétaire des credentials
Off-chain Transport propriétaire des rate limits/cooldowns
provider_id opaque autorisé comme identifiant générique
ports SOL Prices Desk attendus 1434/1435
Tauri lancé crate-local
aucun fetch provider frontend
aucune API key/URL/header provider dans les DTOs
Wallet Desk réutilise MarketPriceService
```
Le prompt ne transforme pas les questions d'UI/composition encore ouvertes en décisions arbitraires. `pre.001` doit notamment trancher screen map, command/DTO map, composite dédié, ownership de l'état de présentation, UX refresh, capabilities Tauri, insertion Wallet Desk et stratégie de gate fonctionnel/live.
## 6. Prévision souple `0.2.12`
Le prompt fournit un forecast initial détaillé allant de l'audit/sizing au scaffold SOL Prices Desk, composition Config, table/refresh, stabilisation standalone, intégration Wallet Desk, hardening, puis trois couloirs distincts :
```text
gate technique/live final
réconciliation documentaire finale
préparation minimale de publication
```
Le forecast est explicitement recalibrable par `0.2.12-pre.001`. Si SOL Prices Desk + intégration Wallet Desk apparaît surdimensionné pour une release concrète clôturable dans la session, la frontière doit être rediscutée avant implémentation lourde plutôt que de supprimer silencieusement une partie de la mission.
## 7. `CHANGELOG.md`
Le changelog stable est préparé pour `0.2.11 — Off-chain price transport` avec les faits consolidés :
```text
SOL/USD V1
8 adapters REST sans SDK provider
MarketPriceDecimal exact
sémantiques/provenance/timestamps explicites
registry + availability + rate limits/cooldowns
refresh single/many/all séquentiel et déterministe
Config std.offchain_transport V1
origines provider fixes et secrets Config-owned
DexScreener pair explicite sans discovery
aucun consensus/fallback/moyenne KSP
CoinMarketCap ids -> id corrigé au gate live
re-smoke keyless final 7/7 PASS
smoke keyed SKIP opérateur
prompt 0.2.12 préparé
```
## 8. `ROADMAP.md`
`0.2.11` passe à l'état réalisé avec une synthèse stable correspondant au contrat réellement livré et au smoke keyless final `7/7`.
La suite active reste :
```text
0.2.12 SOL Prices Desk + intégration prix Wallet Desk
0.2.13 Interface foundation
0.2.14 Program API foundation
```
Aucune renumérotation supplémentaire n'est introduite.
## 9. Fichiers modifiés/ajoutés
```text
Cargo.toml
CHANGELOG.md
ROADMAP.md
prompts/017-V0_2_12_START_PROMPT.md
deltas/0.2.11/pre.013.md
```
Aucun autre fichier ne doit changer dans cette tranche. En particulier, `prompts/000-README.md` n'est pas mis à jour ici : c'est un README et la lane de publication minimale interdit de rouvrir les README après la réconciliation documentaire.
## 10. Gate opérateur
Comme cette tranche ne modifie aucun code/runtime/config/schema :
```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.11
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
```
Aucun smoke live ni `cargo tree` n'est à rejouer si le delta est appliqué exactement.
## 11. Suite
Si ce gate est vert, la seule étape restante est :
```text
0.2.11-rel.001
```
Elle est limitée à la mécanique de publication stable : version Cargo `0.2.11`, delta `rel.001`, commit final et tag stable `v0.2.11`, sans rattrapage technique ou documentaire.
Après publication du tag stable, la session suivante ouvre :
```text
0.2.12-pre.001
```
avec `prompts/017-V0_2_12_START_PROMPT.md` et commence impérativement par l'audit/sizing défini dans ce prompt.