0.5.1-pre.005

This commit is contained in:
2026-08-10 01:36:42 +02:00
parent ec07ddbd80
commit b6a286a4df
54 changed files with 6236 additions and 5569 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/V0_5_1_KHADHROONY_SOLANA_NAMESPACE_AND_CONFIG_PLAN.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Plan temporaire `0.5.1` — namespace Khadhroony Solana et configuration sûre
@@ -408,7 +408,7 @@ Les targets de tracing de crates génériques doivent également migrer vers `ks
L'audit distingue trois ensembles afin de ne pas transformer des exemples historiques en contrats runtime :
- **85 noms** actuellement utilisés/référencés par le code, les tests, `.env.example`, les fixtures ou `config/example.config.json` ;
- **85 noms** actuellement utilisés/référencés par le code, les tests, `.env.example`, les fixtures ou `config/app.config.json` ;
- **17 noms supplémentaires** présents uniquement dans le guide opérateur Devnet actif ;
- soit **102 noms historiques actifs à migrer ou consolider**, dont plusieurs convergent volontairement vers une même cible canonique.
@@ -561,10 +561,12 @@ Les anciennes fixtures `TOKEN_2022_*` et les alias opérateur déjà préfixés
L'audit `0.5.0` a confirmé une duplication importante : chaque profil généraliste transporte un bloc logging volumineux. La cible minimale devient :
```text
config/example.config.json
config/example.logging.json
config/schema.config.json
config/schema.logging.json
config/app.config.json
config/logging.config.json
config/example.app.config.json
config/example.logging.config.json
config/schemas/app.config.schema.json
config/schemas/logging.config.schema.json
```
Les profils applicatifs/réseau et les profils logging sont sélectionnables indépendamment. Un profil `devnet` n'impose donc pas un profil logging `debug`, et `mainnet` n'impose pas mécaniquement un profil logging `release`.
@@ -575,7 +577,7 @@ Le code duplique actuellement dans `ks-config` et `ks-logging` les concepts :
- `LogTargetConfig` ;
- `LogTargetFilterConfig`.
`kb-app-demo-desktop` contient en plus une conversion manuelle de `ks_config::LoggingConfig` vers `ks_logging::LoggingConfig`. `0.5.1` doit supprimer cette duplication en donnant au logging un contrat possédé par `ks-logging`, tout en laissant `ks-config` charger/valider/composer les documents sans réinventer les types runtime du logging.
La migration `pre.005` ferme cette dette : `ks-config` ne définit plus de type logging, `ks-logging` possède le document, le schéma et les types runtime, et le desktop charge les deux fichiers indépendamment. `ks-logging` réutilise uniquement les helpers génériques denvironnement de `ks-config`, sans cer de dépendance inverse.
Aucun troisième document spécialisé n'est créé dans `0.5.1` sans bénéfice de découplage démontré.
@@ -628,7 +630,7 @@ Avant chaque changement structurel correspondant, conserver ou ajouter des tests
- l'interdiction des variables de configuration possédées par le workspace hors namespace d'ownership `KS_*` ou `KB_*` ;
- la propagation de sensibilité depuis `KS_SECRET_*` vers les valeurs composées ;
- l'impossibilité pour une sentinelle secrète d'apparaître dans `Debug`, logs, erreurs, payloads Tauri, sérialisation publique ou diagnostic ;
- la validation indépendante de `schema.config.json` et `schema.logging.json` ;
- la validation indépendante de `config/schemas/app.config.schema.json` et `config/schemas/logging.config.schema.json` ;
- l'indépendance des profils généralistes et logging ;
- l'absence de duplication structurelle des types logging entre `ks-config` et `ks-logging` ;
- le maintien des contrats publics réellement nécessaires après remplacement des types de configuration exposés.
@@ -672,10 +674,12 @@ Les tests ne doivent pas figer comme comportement légitime la fuite actuelle de
### `0.5.1-pre.005` — split config/logging
- extraire `example.logging.json` et `schema.logging.json` ;
- rendre profils logging et généralistes indépendants ;
- supprimer les structures logging dupliquées et la conversion desktop manuelle ;
- maintenir schémas, exemples et documentation synchronisés.
- **implémenté** : `config/app.config.json` et `config/logging.config.json` deviennent les deux documents chargés par défaut ;
- **implémenté** : les schémas sont centralisés sous `config/schemas/app.config.schema.json` et `config/schemas/logging.config.schema.json` ;
- **implémenté** : `example.app.config.json` et `example.logging.config.json` fournissent des exemples minimaux conformes ;
- **implémenté** : les profils logging et généralistes possèdent chacun leur propre `active_profile` ;
- **implémenté** : `ks-logging` devient propriétaire unique du contrat logging et de sa validation ;
- **implémenté** : le desktop supprime la conversion `ks_config::LoggingConfig` -> `ks_logging::LoggingConfig`.
### `0.5.1-pre.006` — surfaces publiques sûres