v0.1.4-pre.018-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md -->
|
||||
<!-- version: 21 -->
|
||||
<!-- version: 22 -->
|
||||
|
||||
# Plan `0.1.4` — `ksp-app-config-desk`
|
||||
|
||||
@@ -238,8 +238,8 @@ La gestion npm distingue le runtime frontend du tooling. Les bibliothèques cons
|
||||
Chaque application Tauri desk KSP reçoit un couple de ports Vite/HMR propre. La première application réserve :
|
||||
|
||||
| Application | Port Vite HTTP | Port HMR |
|
||||
|-----------------------|---------------:|---------:|
|
||||
| `ksp-app-config-desk` | `1430` | `1431` |
|
||||
| --------------------- | -------------: | -------: |
|
||||
| `ksp-app-config-desk` | `1430` | `1431` |
|
||||
|
||||
Les applications suivantes incrémentent le couple de deux ports (`1432/1433`, puis `1434/1435`, etc.). Vite doit utiliser un port strict afin qu'une collision soit signalée au lieu de provoquer un basculement silencieux vers un autre port. Cette allocation permet de faire fonctionner simultanément plusieurs applications desk en mode développement.
|
||||
|
||||
@@ -249,20 +249,20 @@ Aucune dépendance n'est ajoutée par `pre.001`. Les versions suivantes ont ét
|
||||
|
||||
| Dépendance | Version actuelle auditée | Usage envisagé |
|
||||
| ------------------------------- | -----------------------: | -------------------------------------------- |
|
||||
| `tauri` | `2.11.5` | runtime desktop |
|
||||
| `tauri-build` | `2.6.3` | build Tauri |
|
||||
| `tauri-plugin-tracing` | `0.3.4` | intégration tracing à la frontière Tauri |
|
||||
| `ts-rs` | `12.0.1` | bindings DTO applicatifs |
|
||||
| `fs2` | `0.4.3` | verrou single-instance |
|
||||
| `@fltsci/tauri-plugin-tracing` | `0.3.4` | package frontend compagnon du plugin tracing |
|
||||
| `@tauri-apps/api` | `2.11.1` | frontend Tauri |
|
||||
| `@tauri-apps/cli` | `2.11.4` | dev/build desktop |
|
||||
| `@types/bootstrap` | `5.2.11` | typings Bootstrap |
|
||||
| `vite` | `8.2.1` | build frontend |
|
||||
| `typescript` | `7.0.2` | frontend TypeScript |
|
||||
| `sass-embedded` | `1.102.0` | compilation SCSS |
|
||||
| `bootstrap` | `5.3.8` | composants/layout |
|
||||
| `@fortawesome/fontawesome-free` | `7.3.1` | iconographie |
|
||||
| `tauri` | `2.11.5` | runtime desktop |
|
||||
| `tauri-build` | `2.6.3` | build Tauri |
|
||||
| `tauri-plugin-tracing` | `0.3.4` | intégration tracing à la frontière Tauri |
|
||||
| `ts-rs` | `12.0.1` | bindings DTO applicatifs |
|
||||
| `fs2` | `0.4.3` | verrou single-instance |
|
||||
| `@fltsci/tauri-plugin-tracing` | `0.3.4` | package frontend compagnon du plugin tracing |
|
||||
| `@tauri-apps/api` | `2.11.1` | frontend Tauri |
|
||||
| `@tauri-apps/cli` | `2.11.4` | dev/build desktop |
|
||||
| `@types/bootstrap` | `5.2.11` | typings Bootstrap |
|
||||
| `vite` | `8.2.1` | build frontend |
|
||||
| `typescript` | `7.0.2` | frontend TypeScript |
|
||||
| `sass-embedded` | `1.102.0` | compilation SCSS |
|
||||
| `bootstrap` | `5.3.8` | composants/layout |
|
||||
| `@fortawesome/fontawesome-free` | `7.3.1` | iconographie |
|
||||
|
||||
Sources d'audit :
|
||||
|
||||
@@ -694,23 +694,23 @@ Le shell applique également une instrumentation frontend systématique : clics
|
||||
|
||||
Les noms ci-dessous sont les noms fonctionnels cibles ; ils pourront être normalisés avant implémentation, mais leurs responsabilités sont fixées.
|
||||
|
||||
| Commande Tauri | Service interne | API KSP principale | Secret réel ? |
|
||||
| Commande Tauri | Service interne | API KSP principale | Secret réel ? |
|
||||
| ------------------------------ | ------------------------------------ | --------------------------------------------------------------------------- | -------------------------------------------: |
|
||||
| `get_app_snapshot` | `config_service` + `logging_service` | registry/management + runtime state | non |
|
||||
| `list_config_documents` | `config_service` | future vue publique du `ConfigFileRegistry` | non |
|
||||
| `inspect_config_document` | `config_service` | `load_validated_document` + `read_source` si erreur | non |
|
||||
| `save_config_source_candidate` | `config_service` | future API Config de réparation validée | non |
|
||||
| `inspect_profile` | `config_service` | `load_resolved_profile` + résolution détaillée | non |
|
||||
| `get_environment_report` | `environment_service` | `ConfigManagement::environment_report` | non |
|
||||
| `get_app_snapshot` | `config_service` + `logging_service` | registry/management + runtime state | non |
|
||||
| `list_config_documents` | `config_service` | future vue publique du `ConfigFileRegistry` | non |
|
||||
| `inspect_config_document` | `config_service` | `load_validated_document` + `read_source` si erreur | non |
|
||||
| `save_config_source_candidate` | `config_service` | future API Config de réparation validée | non |
|
||||
| `inspect_profile` | `config_service` | `load_resolved_profile` + résolution détaillée | non |
|
||||
| `get_environment_report` | `environment_service` | `ConfigManagement::environment_report` | non |
|
||||
| `set_dotenv_value` | `environment_service` | `ConfigManagement::set_dotenv_value` + rapport frais | entrée potentiellement Secret, jamais loggée |
|
||||
| `remove_dotenv_value` | `environment_service` | `ConfigManagement::remove_dotenv_value` + rapport frais | non |
|
||||
| `reveal_environment_value` | `secret_service` | `reveal_effective_environment_value` ou `reveal_dotenv_value` | **oui** |
|
||||
| `get_logging_editor` | `logging_service` | `load_logging_document` | non |
|
||||
| `save_logging_document` | `logging_service` | `save_logging_document` | non par design Logging |
|
||||
| `apply_logging_profile` | `logging_service` | `ConfigEnvironment::load` + `load_resolved_logging_config` + `reinitialize` | valeurs resolved possibles, jamais DTO/log |
|
||||
| `emit_frontend_log` | `frontend_logging_service` | façade `ksp-logging-lib` | non, message technique frontend seulement |
|
||||
| `emit_logging_test` | `logging_service` | façade/macros `ksp-logging-lib` | non, message explicitement saisi pour test |
|
||||
| `splash_frontend_ready` | `splash` | lifecycle Tauri + settings splash déjà résolus | non |
|
||||
| `remove_dotenv_value` | `environment_service` | `ConfigManagement::remove_dotenv_value` + rapport frais | non |
|
||||
| `reveal_environment_value` | `secret_service` | `reveal_effective_environment_value` ou `reveal_dotenv_value` | **oui** |
|
||||
| `get_logging_editor` | `logging_service` | `load_logging_document` | non |
|
||||
| `save_logging_document` | `logging_service` | `save_logging_document` | non par design Logging |
|
||||
| `apply_logging_profile` | `logging_service` | `ConfigEnvironment::load` + `load_resolved_logging_config` + `reinitialize` | valeurs resolved possibles, jamais DTO/log |
|
||||
| `emit_frontend_log` | `frontend_logging_service` | façade `ksp-logging-lib` | non, message technique frontend seulement |
|
||||
| `emit_logging_test` | `logging_service` | façade/macros `ksp-logging-lib` | non, message explicitement saisi pour test |
|
||||
| `splash_frontend_ready` | `splash` | lifecycle Tauri + settings splash déjà résolus | non |
|
||||
|
||||
Tous les wrappers dans `tauri.rs` :
|
||||
|
||||
@@ -1029,6 +1029,8 @@ Le shell applicatif matérialise désormais cette architecture dans `frontend/ts
|
||||
|
||||
Le bootstrap Logging sépare également la **résolution du plan de démarrage** de l'**installation du subscriber**. Une source invalide peut ainsi être testée comme plan fallback sans initialiser le subscriber global du binaire de tests.
|
||||
|
||||
La validation frontend de `pre.018` utilise `npm run check` pour **`tsc --noEmit` uniquement**. Le build Vite de production n'est pas lancé séparément : `cargo tauri build` déclenche déjà `npm run build` via `beforeBuildCommand`. Pour KSP, le build Tauri est réservé à la **dernière validation**, après `fmt/check/clippy`, les tests, le type-check frontend et le parcours fonctionnel `tauri dev`.
|
||||
|
||||
## 16. Stratégie de tests
|
||||
|
||||
### 16.1 `ksp-config-lib`
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/rules/RULES_KSP.md -->
|
||||
<!-- version: 29 -->
|
||||
<!-- version: 30 -->
|
||||
|
||||
# Règles spécifiques à KSP
|
||||
|
||||
@@ -226,6 +226,7 @@
|
||||
- **KSP-APP-031** — Le niveau de logging spécifique à une application/crate peut être élevé temporairement à `debug` ou `trace` pendant une phase de développement ou correction. Avant la clôture/release de cette application/crate, son niveau de référence est ramené à `info` ou `warn` selon le besoin opératoire ; il n’est remonté que lorsqu’un développement/correctif est explicitement rouvert.
|
||||
- **KSP-APP-032** — Les interfaces desk KSP n’utilisent pas les dialogues bloquants natifs du navigateur (`window.alert`, `window.confirm`, `window.prompt`) pour les interactions applicatives normales. Les confirmations destructives ou privilégiées utilisent un modal Bootstrap intégré à l’UI, instrumenté par le bridge Logging ; toute exception doit être explicitement justifiée et documentée.
|
||||
- **KSP-APP-033** — Un test d’une application ou d’un manager qui peut modifier un document Config du workspace ne traite jamais les valeurs courantes de ce document comme une fixture immuable. Les tests de valeurs exactes utilisent une fixture isolée ; les tests qui lisent la Config workspace vérifient uniquement des invariants, la validité et la cohérence source → résolution → runtime afin de rester valides après une édition légitime par Config Desk.
|
||||
- **KSP-APP-034** — Pour une application Tauri KSP, un contrôle frontend standalone (`npm run check` ou équivalent) ne construit pas le bundle de production : il se limite au type-check/lint/tests frontend nécessaires. Le build frontend de production appartient au hook Tauri `beforeBuildCommand`. Dans une séquence de validation, `cargo tauri build -c crates/<app>/tauri.conf.json` est exécuté **en dernière opération**, uniquement après `fmt/check/clippy`, les tests, les contrôles frontend standalone et le parcours fonctionnel `cargo tauri dev`.
|
||||
|
||||
## Data plane / control plane
|
||||
|
||||
|
||||
Reference in New Issue
Block a user