v0.1.1-rel.001
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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
150
deltas/0.1.1/rel.001.md
Normal 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`.
|
||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user