Files
khadhroony-solana-project/deltas/0.1.3/pre.015.md
2026-08-16 07:52:59 +02:00

243 lines
6.2 KiB
Markdown

<!-- file: deltas/0.1.3/pre.015.md -->
<!-- version: 1 -->
# Delta 0.1.3-pre.015 — clôture Config
## Base requise
Livraison précédente validée :
```text
0.1.3-pre.014
workspace.package.version = "0.1.3-pre.14"
Cargo.toml header version = 59
```
## Validation de `pre.014`
Validations utilisateur exécutées le 2026-08-16 :
```text
cargo fmt --all OK
cargo check --workspace OK
cargo clippy --workspace --all-targets OK
cargo test --workspace OK
cargo tree -p ksp-config-lib OK
cargo tree -p ksp-config-lib -d OK, doublon transitif syn 2/3 connu via jsonschema
cargo tree -p ksp-config-lib -e features OK
cargo tree -p ksp-logging-lib -d OK, aucun doublon
```
Le test workspace confirme :
```text
ksp-config-lib unit tests 80 passed
Config ownership integration 4 passed
Config public API 11 passed
ksp-core-lib unit 14 passed
Core public API 3 passed
ksp-logging-lib unit 34 passed
Logging integrations all passed
```
## Objet de `pre.015`
`pre.015` est la prerelease finale prévue de `0.1.3`.
Elle ne développe aucune nouvelle capacité Config. Elle :
- consolide la documentation durable de `ksp-config-lib` ;
- ferme ou reporte explicitement les TODO de release ;
- introduit le changelog général selon les règles déjà définies ;
- prépare le prompt de `0.1.4 — ksp-app-config-desk` ;
- réaligne les index et plans ;
- prépare les validations finales précédant `rel.001` ;
- confirme qu'aucun cleanup destructif supplémentaire n'est nécessaire.
## Version technique
Conformément à `VER-ID-009`, une prerelease non-fix synchronise toujours la version Cargo, même lorsque la tranche est principalement documentaire :
```text
workspace.package.version = "0.1.3-pre.15"
Cargo.toml header version = 60
```
Aucune dépendance ni feature Cargo ne change.
## Documentation durable de `ksp-config-lib`
Ajout de :
```text
crates/ksp-config-lib/README.md
crates/ksp-config-lib/USAGE.md
crates/ksp-config-lib/TODO.md
```
Le README décrit les responsabilités et frontières stabilisées de Config.
`USAGE.md` documente :
- bootstrap + registre ;
- chargement/validation ;
- environnement effectif ;
- mapping Logging ;
- profils/composites ;
- management du document Logging ;
- management `.env` ;
- secret reveal explicite ;
- `.env.example` ;
- frontière Tauri.
`TODO.md` confirme qu'aucun TODO fonctionnel bloquant ne reste dans `0.1.3`. Les validations desktop/Tauri sont transférées à `0.1.4`; les futurs documents/composites/watchers restent conditionnés à l'apparition d'un besoin concret.
Le crate-level Rustdoc est rendu durable et ne décrit plus la surface comme limitée à `pre.013`.
## Changelog général
Ajout de :
```text
CHANGELOG.md
```
Il applique `DOC-ROOT-008` : uniquement les releases stables et ordre décroissant.
Il contient à cette étape :
```text
0.1.2
0.1.1
0.0.3
```
`0.1.3` n'y figure pas encore car `pre.015` n'est pas une release stable. Son entrée sera ajoutée dans `rel.001` après validation finale.
## Prompt `0.1.4`
Ajout de :
```text
prompts/004-V0_1_4_START_PROMPT.md
```
Le prompt ne doit être utilisé qu'après publication stable `v0.1.3`.
Il impose que `0.1.4-pre.001` commence par brainstorming + audit + planification, avant tout développement Tauri significatif, et cadre notamment :
- application `ksp-app-config-desk` mince au-dessus de Config ;
- DTO/Tauri à la frontière applicative ;
- management de documents/profils/env ;
- reveal de secrets explicitement privilégié ;
- ownership applicatif du `LoggingGuard` ;
- tests et découpage des prereleases ;
- hors-scope de la release.
## Cleanup / archivage
Aucune suppression n'est nécessaire.
Sont conservés intentionnellement :
- tous les deltas `0.1.3` et leurs fixes ;
- les plans historiques `0.1.1`/`0.1.2` ;
- le plan `0.1.3` ;
- les prompts historiques ;
- les schemas et exemples Config ;
- `.env.example`.
Le fichier local `.env` reste ignoré, non échangé et absent du delta.
Aucun `Cargo.lock`, cache, build output ou archive imbriquée n'est ajouté.
## TODO et reports
Audit du code Config avant livraison : aucun marqueur `TODO`, `FIXME`, `XXX` ou `HACK` n'est présent dans les sources/manifest de la crate.
Les reports utiles sont documentés dans `crates/ksp-config-lib/TODO.md` et concernent principalement :
- validation desktop `0.1.4` ;
- futurs documents standards quand leurs composants existent ;
- composites de consumers réels ;
- watcher/reload automatique uniquement si un besoin concret l'exige ;
- éventuel secrets manager externe plus tard.
Aucun de ces reports ne bloque `0.1.3`.
## Fichiers ajoutés
```text
CHANGELOG.md
crates/ksp-config-lib/README.md
crates/ksp-config-lib/TODO.md
crates/ksp-config-lib/USAGE.md
prompts/004-V0_1_4_START_PROMPT.md
deltas/0.1.3/pre.015.md
```
## Fichiers modifiés
```text
Cargo.toml
README.md
crates/ksp-config-lib/src/lib.rs
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md
prompts/000-README.md
```
## Fichiers supprimés
Aucun.
## Validations finales demandées
```bash
cargo fmt --all
cargo check --workspace
cargo build -p ksp-config-lib
cargo clippy --workspace --all-targets
cargo test --workspace
cargo test -p ksp-config-lib --test ownership
cargo tree -p ksp-config-lib
cargo tree -p ksp-config-lib -d
cargo tree -p ksp-config-lib -e features
cargo tree -p ksp-config-lib -e normal
cargo tree -p ksp-logging-lib -d
```
Vérifier également localement qu'aucun `.env` réel n'est suivi/ajouté au commit.
## Étape suivante après validation
Si `pre.015` est propre, préparer :
```text
0.1.3-rel.001
```
avec :
```text
workspace.package.version = "0.1.3"
```
`rel.001` devra :
- enregistrer les validations finales de `pre.015` ;
- ajouter la synthèse stable `0.1.3` à `CHANGELOG.md` en tête ;
- marquer `0.1.3` `[X]` dans `ROADMAP.md` ;
- classer le plan `005` comme historique clôturé ;
- réaligner les index/séquence ;
- ne modifier aucune surface fonctionnelle ;
- préparer le commit stable et, après validation, le tag `v0.1.3`.
La session suivante peut ensuite démarrer avec :
```text
prompts/004-V0_1_4_START_PROMPT.md
```