0.5.1-pre.005
This commit is contained in:
@@ -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 d’environnement de `ks-config`, sans créer 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user