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