v0.3.15-pre.001-fix.001

This commit is contained in:
2026-09-13 00:33:44 +02:00
parent 4ec80889c2
commit 84ef8bb1f1
3 changed files with 346 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Plan v0.3.15 — Raw Transaction Ingest Desk
@@ -663,29 +663,119 @@ app close -> tous Workers arrêtés/joints
Le build Tauri final reste un gate tardif et ne remplace pas les tests runtime.
## 20. Forecast recalibré
## 20. Forecast recalibré — prereleases souples
| Tranche | Objectif borné |
|-----------|------------------------------------------------------------------------------------------------------|
| `pre.001` | audit, route model, external re-audit, sizing, plan/validation |
| `pre.002` | Transport : capability WS typed par subscription + tests, sans app |
| `pre.003` | Config : schema/mapping capabilities WS + composite/profils Raw Ingest Desk |
| `pre.004` | Worker : enforcement des capabilities WS déclarées + canaris route constructors |
| `pre.005` | scaffold `ksp-app-raw-transaction-ingest-desk`, gabarit KSP, DTO/route IDs/states, sans Start Worker |
| `pre.006` | Config -> inventaire de routes composables/non composables + raisons sûres |
| `pre.007` | reconstruction/revalidation Start des ressources Transport pour les cinq routes, sans launch Worker |
| `pre.008` | Store lifecycle + Start/Stop mono-route réel |
| `pre.009` | multi-route : un Worker par route, même Store, isolation des faults |
| `pre.010` | snapshots/events/monitoring lifecycle-health-activity-backpressure-reconnect-replay-gaps-repair |
| `pre.011` | frontend fonctionnel complet + tracing TypeScript sûr |
| `pre.012` | races, shutdown app, sécurité IPC, hardening hostile/stale inventory |
| `pre.013` | cross-layer completeness + canaris système sans expansion de frontières |
| `pre.014` | gate technique/live accessible + frontend/Tauri + build final de validation technique |
| `pre.015` | réconciliation documentaire finale : plan/validation/README/USAGE |
| `pre.016` | préparation publication minimale : prompt suivant + CHANGELOG + ROADMAP |
| `rel.001` | mécanique stable uniquement, aucun rattrapage fonctionnel |
Le forecast initial `pre.002 -> pre.013` est étendu jusqu'à `pre.016`. La cause n'est pas une inflation UI : c'est la découverte d'un contrat WS capability manquant qui doit être fermé proprement dans Transport, Config puis Worker avant consommation par la Desk.
Le forecast initial `pre.002 -> pre.013` est donc étendu jusqu'à `pre.016`. La cause n'est pas une inflation UI : c'est la découverte d'un contrat WS capability manquant qui doit être fermé proprement dans Transport, Config puis Worker avant consommation par la Desk.
Le forecast reste volontairement souple. Chaque prerelease possède une sous-section directement éditable ; lorsqu'un correctif est nécessaire, il est ajouté sous la prerelease concernée avec un titre `#### pre.NNN-fix.MMM`. Les responsabilités de clôture `gate technique/live -> réconciliation documentaire -> préparation de publication` restent séparées.
### `pre.001` — audit / route model / external re-audit / sizing
**Statut : réalisé.**
Audit de la stable, des règles, de Config/Transport/Store/Worker, des cinq familles Worker, des Desk existantes et des surfaces providers/protocoles pertinentes. Matrice route -> capabilities -> Config -> ressources Worker, modèle de composabilité, screen map, IPC/tracing, sizing et plan/validation. Aucun scaffold Desk ni Start/Stop Worker.
Budget cible : une tranche de cadrage.
#### `pre.001-fix.001` — forecast souple éditable
**Statut : réalisé ; correctif documentaire uniquement.**
Remplacement du forecast tabulaire par la hiérarchie durable `### pre.NNN` / `#### pre.NNN-fix.MMM`, identique à celle utilisée dans les versions KSP précédentes. Aucun objectif, ordre, gap lower-layer ni décision de sizing n'est modifié. `workspace.package.version` reste `0.3.15-pre.1`.
### `pre.002` — capability WS typed dans Transport
Ajouter une déclaration de capabilities WS exacte par subscription, réutilisant les types Transport existants, avec validation et tests. Aucun code applicatif Desk.
Budget cible : une tranche Transport.
### `pre.003` — mapping Config et composite Raw Ingest Desk
Étendre le schema/mapping Config pour porter les capabilities WS déclarées et préparer les composites/profils Raw Transaction Ingest Desk cohérents Transport+Store. Aucun frontend.
Budget cible : une tranche Config.
### `pre.004` — enforcement Worker des capabilities WS
Faire refuser avant I/O les constructions de sources dont les capabilities WS requises ne sont pas déclarées, avec canaris des constructeurs de routes. Aucune logique provider dans la Desk.
Budget cible : une tranche Worker.
### `pre.005` — scaffold Raw Transaction Ingest Desk
Créer `ksp-app-raw-transaction-ingest-desk` sur le gabarit KSP existant, avec shell, splash, dépendances frontend, DTO de base, IDs de routes et états, sans démarrer de Worker.
Budget cible : une tranche Desk fondation.
### `pre.006` — inventaire de routes composables
Résoudre Config côté Rust et projeter les routes composables/non composables avec raisons sûres et génération d'inventaire, sans endpoint, URL, secret ou source key côté frontend.
Budget cible : une tranche composition.
### `pre.007` — reconstruction Start des ressources Transport
Revalider Config au Start et reconstruire les ressources Transport exactes nécessaires aux cinq routes, sans lancer encore le Worker. Le choix des endpoints physiques reste Transport-owned.
Budget cible : une tranche intégration Transport/Desk.
### `pre.008` — Store lifecycle et Start/Stop mono-route
Ouvrir/réutiliser le Store via `ksp-store-lib`, lancer un Worker pour une route, installer le handle avant publication Running, puis fermer proprement Stop/terminal.
Budget cible : une tranche runtime mono-route.
### `pre.009` — multi-route et Store partagé
Permettre plusieurs routes simultanées avec un Worker indépendant par route, un même Store partagé lorsque le réseau est strictement identique et une isolation des faults entre routes.
Budget cible : une tranche runtime multi-route.
### `pre.010` — snapshots et monitoring runtime
Relayer les snapshots/events sûrs nécessaires à la Desk : lifecycle, health, activity, backpressure, reconnect, replay, gaps et repair, sans payload RawTransaction ni identité provider sensible.
Budget cible : une tranche observabilité.
### `pre.011` — frontend fonctionnel et tracing TypeScript
Finaliser l'UI de sélection/supervision et tracer les interactions frontend conformément aux règles Desk KSP, sans journaliser de valeurs sensibles ni dupliquer la logique Worker.
Budget cible : une tranche frontend.
### `pre.012` — races / shutdown / sécurité IPC
Durcir stale inventory, Start/Stop concurrents, fermeture application, joins bornés, erreurs sûres, surfaces IPC et scénarios hostiles.
Budget cible : une tranche hardening.
### `pre.013` — completeness/security cross-layer
Fermer les canaris Config/Transport/Worker/Common RAW/Store/Desk, dependency firewalls, API publique, redaction et absence de seconde pipeline ou d'orchestration Backfill.
Budget cible : une tranche de clôture fonctionnelle.
### `pre.014` — gate technique/live final
Exécuter le workspace complet, Clippy strict, suites ciblées, graphes/duplicates, smokes réellement accessibles et build frontend/Tauri final. Aucun nouveau scope métier.
Budget cible : une tranche technique.
### `pre.015` — réconciliation documentaire finale
Réconcilier plan, validation, README/USAGE et documents durables réellement affectés. Ne pas modifier CHANGELOG, ROADMAP ni le prompt suivant.
Budget cible : une tranche documentaire.
### `pre.016` — préparation de publication
Préparer le prompt suivant, CHANGELOG, ROADMAP et la mécanique minimale de version/delta. Aucun rattrapage fonctionnel ou documentaire durable.
Budget cible : une tranche courte de publication.
### `rel.001` — publication stable mécanique
Publier mécaniquement `v0.3.15` sur une candidate déjà fermée, sans rattrapage.
## 21. Hors périmètre

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Validation v0.3.15 — Raw Transaction Ingest Desk
@@ -330,27 +330,81 @@ frontend sans endpoints/secrets/handles/source keys/payloads bruts
Ces tables décrivent le contrat de sécurité à implémenter ; elles ne revendiquent aucune commande Tauri existante en `pre.001`.
## 15. Sizing / forecast
## 15. Sizing / forecast souple
| Tranche | Objectif borné |
|-----------|------------------------------------------------------------------------------------------------------|
| `pre.001` | audit, route model, external re-audit, sizing, plan/validation |
| `pre.002` | Transport : capability WS typed par subscription + tests, sans app |
| `pre.003` | Config : schema/mapping capabilities WS + composite/profils Raw Ingest Desk |
| `pre.004` | Worker : enforcement des capabilities WS déclarées + canaris route constructors |
| `pre.005` | scaffold `ksp-app-raw-transaction-ingest-desk`, gabarit KSP, DTO/route IDs/states, sans Start Worker |
| `pre.006` | Config -> inventaire de routes composables/non composables + raisons sûres |
| `pre.007` | reconstruction/revalidation Start des ressources Transport pour les cinq routes, sans launch Worker |
| `pre.008` | Store lifecycle + Start/Stop mono-route réel |
| `pre.009` | multi-route : un Worker par route, même Store, isolation des faults |
| `pre.010` | snapshots/events/monitoring lifecycle-health-activity-backpressure-reconnect-replay-gaps-repair |
| `pre.011` | frontend fonctionnel complet + tracing TypeScript sûr |
| `pre.012` | races, shutdown app, sécurité IPC, hardening hostile/stale inventory |
| `pre.013` | cross-layer completeness + canaris système sans expansion de frontières |
| `pre.014` | gate technique/live accessible + frontend/Tauri + build final de validation technique |
| `pre.015` | réconciliation documentaire finale : plan/validation/README/USAGE |
| `pre.016` | préparation publication minimale : prompt suivant + CHANGELOG + ROADMAP |
| `rel.001` | mécanique stable uniquement, aucun rattrapage fonctionnel |
Le forecast durable est porté par la section 20 du plan `036` sous forme hiérarchique éditable, et non par un tableau. La validation conserve ici la même séquence afin que le statut de chaque tranche puisse être complété sans réécrire la structure documentaire.
### `pre.001` — cadrage
**Statut : réalisé.** Audit, route model, external re-audit, sizing et plan/validation, sans code fonctionnel Desk.
#### `pre.001-fix.001` — forme du forecast
**Statut : réalisé ; documentaire uniquement.** Le tableau de forecast initial est remplacé par la convention KSP `### pre.NNN` / `#### pre.NNN-fix.MMM`. Aucun contenu fonctionnel du sizing n'est changé.
### `pre.002` — Transport WS capability
Capability WS typed par subscription + tests, sans app.
### `pre.003` — Config capability/composite
Schema/mapping capabilities WS + composite/profils Raw Ingest Desk.
### `pre.004` — Worker enforcement
Enforcement des capabilities WS déclarées + canaris route constructors.
### `pre.005` — scaffold Desk
Scaffold `ksp-app-raw-transaction-ingest-desk`, gabarit KSP, DTO/route IDs/states, sans Start Worker.
### `pre.006` — inventaire composable
Config -> inventaire de routes composables/non composables + raisons sûres.
### `pre.007` — ressources Start
Reconstruction/revalidation Start des ressources Transport pour les cinq routes, sans launch Worker.
### `pre.008` — runtime mono-route
Store lifecycle + Start/Stop mono-route réel.
### `pre.009` — runtime multi-route
Un Worker par route, même Store si réseau identique, isolation des faults.
### `pre.010` — monitoring
Snapshots/events/monitoring lifecycle-health-activity-backpressure-reconnect-replay-gaps-repair.
### `pre.011` — frontend
Frontend fonctionnel complet + tracing TypeScript sûr.
### `pre.012` — hardening
Races, shutdown app, sécurité IPC, hardening hostile/stale inventory.
### `pre.013` — completeness
Cross-layer completeness + canaris système sans expansion de frontières.
### `pre.014` — gate technique/live
Gate technique/live accessible + frontend/Tauri + build final de validation technique.
### `pre.015` — réconciliation documentaire
Plan/validation/README/USAGE uniquement selon les surfaces réellement affectées.
### `pre.016` — préparation publication
Prompt suivant + CHANGELOG + ROADMAP + mécanique minimale de publication.
### `rel.001` — stable
Publication mécanique uniquement, aucun rattrapage fonctionnel.
Le forecast initial du prompt n'est pas recopié : trois tranches lower-layer précèdent volontairement le scaffold UI.