v0.1.1-rel.001

This commit is contained in:
2026-08-14 16:09:28 +02:00
parent 11ca53ba48
commit 033912fb2c
7 changed files with 181 additions and 15 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml # file: Cargo.toml
# version: 24 # version: 25
[workspace] [workspace]
resolver = "3" resolver = "3"
members = ["crates/ksp-core-lib"] members = ["crates/ksp-core-lib"]
[workspace.package] [workspace.package]
version = "0.1.1-pre.5" version = "0.1.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -31,7 +31,7 @@ Regrouper les releases consacrées aux fondations N1. Chaque release concrète e
### Releases concrètes ### Releases concrètes
- [/] `0.1.1` — Stabiliser `ksp-core-lib` : `Error`/`Result`, Program IDs fondamentaux et primitives réellement N1. - [X] `0.1.1` — Stabiliser `ksp-core-lib` : `Error`/`Result`, Program IDs fondamentaux et primitives réellement N1.
- [ ] `0.1.2` — Introduire `ksp-logging-lib` comme façade KSP de `tracing`, `tracing-appender` et `tracing-subscriber`. - [ ] `0.1.2` — Introduire `ksp-logging-lib` comme façade KSP de `tracing`, `tracing-appender` et `tracing-subscriber`.
- [ ] `0.1.3` — Introduire `ksp-config-lib` : documents, profils, résolution, validation et modifications autorisées. - [ ] `0.1.3` — Introduire `ksp-config-lib` : documents, profils, résolution, validation et modifications autorisées.
- [ ] `0.1.4` — Introduire `ksp-app-config-desk` pour valider réellement Config et la frontière Tauri. - [ ] `0.1.4` — Introduire `ksp-app-config-desk` pour valider réellement Config et la frontière Tauri.

150
deltas/0.1.1/rel.001.md Normal file
View File

@@ -0,0 +1,150 @@
<!-- file: deltas/0.1.1/rel.001.md -->
<!-- version: 1 -->
# Delta `0.1.1-rel.001` — publication stable Core
## Base requise
`v0.1.1-pre.005` au sens du commit de livraison correspondant, avec :
```text
workspace.package.version = "0.1.1-pre.5"
```
## Objectif
Publier la release stable `0.1.1`, clôturer `Core foundation` et préparer l'ouverture de `0.1.2 — Logging foundation` sans modifier la surface fonctionnelle de `ksp-core-lib`.
## Version Cargo
`workspace.package.version` passe de :
```text
0.1.1-pre.5
```
à :
```text
0.1.1
```
Le header de `Cargo.toml` passe de version 24 à 25.
La politique de dépendance reste inchangée :
```toml
[workspace.dependencies]
solana-pubkey = { version = "^4.3", default-features = false }
```
Aucune feature optionnelle supplémentaire n'est activée.
## Validations finales exécutées par le user
Commandes exécutées avec succès le 2026-08-14 sur `0.1.1-pre.5` :
```bash
cargo fmt --all
cargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
cargo tree -p ksp-core-lib
cargo tree -p ksp-core-lib -d
cargo tree -p ksp-core-lib -e features
```
Résultats communiqués :
- `cargo check --workspace` : succès ;
- `cargo test --workspace` : 14 tests unitaires réussis, 3 tests d'intégration publics réussis, doc-tests réussis ;
- `cargo clippy --workspace --all-targets` : succès sans warning communiqué ;
- `cargo tree -p ksp-core-lib` : dépendance externe directe unique `solana-pubkey 4.3.0`, résolvant `solana-address 2.7.0` ;
- `cargo tree -p ksp-core-lib -d` : aucun doublon ;
- `cargo tree -p ksp-core-lib -e features` : graphe inspecté, sans besoin d'activer une feature optionnelle `solana-pubkey` supplémentaire.
## Surface stable publiée
`0.1.1` stabilise notamment :
- `ksp_core_lib::ErrorCode`, `ErrorContext`, `Error` et `Result<T>` ;
- `ksp_core_lib::Pubkey` ;
- les 18 Program IDs fondamentaux possédés par KSP et leurs paires `PRGID_*` / `PRGIDPK_*` ;
- `declare_program_id!` ;
- `ProgramIdEntry`, `ProgramIdFilter`, `ProgramIdKind` ;
- le registre canonique enumerable/recherchable et ses vues par taxonomie ;
- `native_program_ids()`, recherches texte/`Pubkey` et filtres combinables ;
- la séparation `subfamily` / `program_version` ;
- les règles Cargo workspace introduites pendant la release.
Aucune nouvelle primitive ou API n'est ajoutée par le présent delta de publication.
## Documentation de clôture
Le présent delta :
- marque `0.1.1` réalisée dans `ROADMAP.md` ;
- conserve `003-V0_1_1_CORE_FOUNDATION_PLAN.md` comme plan historique clôturé ;
- réaligne la séquence fonctionnelle sur la publication stable ;
- réaligne les index de documentation/plans ;
- conserve `prompts/002-V0_1_2_START_PROMPT.md` comme prompt de démarrage de la release suivante.
Aucun changelog général n'existe dans la base actuelle ; aucun changelog artificiel n'est créé.
## Fichiers ajoutés
```text
deltas/0.1.1/rel.001.md
```
## Fichiers modifiés
```text
Cargo.toml
ROADMAP.md
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md
```
## Fichiers supprimés
Aucun.
## Décisions
Aucune nouvelle décision architecturale.
La publication stable confirme les décisions et contrats stabilisés pendant les prereleases `0.1.1` et leurs fixes.
## Publication Git
Après application de ce delta :
1. vérifier que le working tree ne contient que les modifications attendues ;
2. exécuter au minimum un `cargo check --workspace` final sur la version Cargo stable `0.1.1` ;
3. créer le commit de release `v0.1.1-rel.001` ;
4. marquer ce commit comme release stable avec le tag :
```text
v0.1.1
```
Aucun autre tag n'est requis pour les prereleases/fixes historiques.
## Suite
Après le tag stable `v0.1.1`, ouvrir :
```text
0.1.2-pre.001
```
avec :
```text
prompts/002-V0_1_2_START_PROMPT.md
```
La première prerelease de `0.1.2` reste une phase de brainstorming, audit et planification avant développement fonctionnel de `ksp-logging-lib`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/000-README.md --> <!-- file: docs/000-README.md -->
<!-- version: 9 --> <!-- version: 10 -->
# Documentation KSP # Documentation KSP
@@ -52,7 +52,7 @@ D'autres sous-répertoires seront ajoutés uniquement lorsque leur rôle aura é
## Documents de planification ## Documents de planification
Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la première release fonctionnelle est conservé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md). Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la release stable `0.1.1` est conservé comme historique clôturé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md).
`IDEAS.md` conserve les pistes et questions qui ne sont pas encore des engagements du roadmap ni des décisions architecturales. `IDEAS.md` conserve les pistes et questions qui ne sont pas encore des engagements du roadmap ni des décisions architecturales.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/000-README.md --> <!-- file: docs/plans/000-README.md -->
<!-- version: 5 --> <!-- version: 6 -->
# Plans KSP # Plans KSP
@@ -11,7 +11,7 @@ Un plan décrit le périmètre, les décisions déjà acquises, les questions ou
- [`001-V0_0_3_PLAN.md`](001-V0_0_3_PLAN.md) — plan historique de la phase fondatrice `0.0.3`, clôturée ; - [`001-V0_0_3_PLAN.md`](001-V0_0_3_PLAN.md) — plan historique de la phase fondatrice `0.0.3`, clôturée ;
- [`002-FUNCTIONAL_RELEASE_SEQUENCE.md`](002-FUNCTIONAL_RELEASE_SEQUENCE.md) — séquence active de référence des premières releases fonctionnelles ; - [`002-FUNCTIONAL_RELEASE_SEQUENCE.md`](002-FUNCTIONAL_RELEASE_SEQUENCE.md) — séquence active de référence des premières releases fonctionnelles ;
- [`003-V0_1_1_CORE_FOUNDATION_PLAN.md`](003-V0_1_1_CORE_FOUNDATION_PLAN.md) — plan détaillé de `0.1.1`, établi par `0.1.1-pre.001` et consolidé jusqu'à sa tranche de clôture. - [`003-V0_1_1_CORE_FOUNDATION_PLAN.md`](003-V0_1_1_CORE_FOUNDATION_PLAN.md) — plan historique clôturé de la release stable `0.1.1`, établi par `0.1.1-pre.001` puis consolidé jusqu'à `0.1.1-rel.001`.
Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre. Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md --> <!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
<!-- version: 3 --> <!-- version: 4 -->
# Séquence des releases fonctionnelles KSP # Séquence des releases fonctionnelles KSP
@@ -95,7 +95,7 @@ pre.003 Pubkey + Program IDs
pre.003-fix.001 politique Cargo workspace + corrections Clippy pre.003-fix.001 politique Cargo workspace + corrections Clippy
pre.004 intégration Core + audits pre.004 intégration Core + audits
pre.005 validation finale/docs/cleanup/prompt 0.1.2 pre.005 validation finale/docs/cleanup/prompt 0.1.2
rel.001 publication stable après validation de pre.005 rel.001 publication stable validée de 0.1.1
``` ```
## `0.1.2` — Logging foundation ## `0.1.2` — Logging foundation
@@ -336,7 +336,7 @@ Son prompt historique d'ouverture reste :
prompts/001-V0_1_1_START_PROMPT.md prompts/001-V0_1_1_START_PROMPT.md
``` ```
À la clôture de `0.1.1-pre.005`, la surface Core est prête pour validation puis publication stable via `0.1.1-rel.001`. Après le tag `v0.1.1`, la release suivante s'ouvre avec : `0.1.1-rel.001` publie la surface Core stable après validation complète de `pre.005`. Le commit de release reçoit le tag `v0.1.1`. La release suivante s'ouvre avec :
```text ```text
0.1.2 — Logging foundation 0.1.2 — Logging foundation

View File

@@ -1,13 +1,13 @@
<!-- file: docs/plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md --> <!-- file: docs/plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md -->
<!-- version: 9 --> <!-- version: 10 -->
# Plan KSP 0.1.1 — Core foundation # Plan KSP 0.1.1 — Core foundation
## Statut ## Statut
Plan de travail de `0.1.1`, établi par `0.1.1-pre.001` puis consolidé jusqu'à la tranche de clôture `0.1.1-pre.005`. Plan historique clôturé de `0.1.1`, établi par `0.1.1-pre.001`, consolidé jusqu'à `0.1.1-pre.005` puis fermé par `0.1.1-rel.001`.
La surface fonctionnelle Core prévue par ce plan est désormais implémentée et validée jusqu'à `pre.004`. `pre.005` finalise la documentation, le prompt `0.1.2` et la préparation de publication ; la version stable `0.1.1` reste à publier par un delta `rel.001` après validation de cette dernière prerelease. La surface fonctionnelle Core prévue par ce plan est implémentée et validée. Le delta `rel.001` publie `workspace.package.version = "0.1.1"`; son commit doit recevoir le tag stable `v0.1.1` avant ouverture de `0.1.2`.
## Base auditée ## Base auditée
@@ -648,14 +648,30 @@ La tranche ne change ni le contrat Error, ni la taxonomie, ni l'inventaire des 1
### `0.1.1-pre.005` — clôture ### `0.1.1-pre.005` — clôture
Résultat de clôture préparé : Résultat de clôture validé :
- aucune nouvelle primitive Core et aucune nouvelle feature `solana-pubkey` ne sont ajoutées ; - aucune nouvelle primitive Core et aucune nouvelle feature `solana-pubkey` ne sont ajoutées ;
- les documents de référence de `0.1.1` sont réalignés avec la surface effectivement livrée ; - les documents de référence de `0.1.1` sont réalignés avec la surface effectivement livrée ;
- aucun `README.md`/`USAGE.md` spécifique à la crate n'est ajouté : la rustdoc crate-level et les tests publics couvrent suffisamment la petite surface actuelle ; - aucun `README.md`/`USAGE.md` spécifique à la crate n'est ajouté : la rustdoc crate-level et les tests publics couvrent suffisamment la petite surface actuelle ;
- aucun changelog général n'existe dans la base actuelle, donc aucun fichier de changelog artificiel n'est créé uniquement pour cette release ; - aucun changelog général n'existe dans la base actuelle, donc aucun fichier de changelog artificiel n'est créé uniquement pour cette release ;
- le prompt final `prompts/002-V0_1_2_START_PROMPT.md` est créé pour ouvrir Logging après publication stable de `0.1.1` ; - le prompt final `prompts/002-V0_1_2_START_PROMPT.md` est créé pour ouvrir Logging après publication stable de `0.1.1` ;
- la publication stable reste volontairement séparée dans un futur delta `0.1.1-rel.001`, conformément au workflow de versionnement. - la publication stable est réalisée séparément par `0.1.1-rel.001`, conformément au workflow de versionnement.
### `0.1.1-rel.001` — publication stable
La publication stable :
- passe `workspace.package.version` de `0.1.1-pre.5` à `0.1.1` ;
- enregistre les validations finales de `pre.005` exécutées avec succès par le user le 2026-08-14 ;
- confirme 14 tests unitaires et 3 tests d'intégration publics réussis ;
- confirme Clippy sans warning communiqué ;
- confirme `solana-pubkey 4.3.0` comme unique dépendance externe directe de `ksp-core-lib` ;
- confirme l'absence de doublons dans `cargo tree -d` ;
- confirme que le graphe de features ne justifie aucune feature optionnelle `solana-pubkey` supplémentaire ;
- marque `0.1.1` comme réalisée dans le roadmap et conserve le présent plan comme historique clôturé ;
- prépare le commit de release puis le tag stable `v0.1.1`.
Aucun contrat public, Program ID, dépendance ou feature n'est modifié par `rel.001`.
Un `pre.NNN-fix.NNN` corrige la tranche correspondante sans réécrire son historique. Un `pre.NNN-fix.NNN` corrige la tranche correspondante sans réécrire son historique.