# Delta `0.3.5-pre.008-fix.001` — enrichissement du prompt `0.3.6` et trajectoire Job/Worker ## Base requise ```text 0.3.5-pre.008 workspace.package.version = 0.3.5-pre.8 ``` Ce fix est **strictement documentaire**. Il ne modifie aucun fichier Rust/build/runtime/config et ne change donc pas `workspace.package.version`. `Cargo.toml` reste exactement celui de `pre.008` : ```text workspace.package.version = 0.3.5-pre.8 ``` ## Motif du fix Le prompt `025` de `pre.008` était insuffisamment détaillé par rapport : - aux règles de construction des prompts KSP ; - à la portée réelle attendue de `0.3.6` ; - aux fonctionnalités de backfill déjà présentes historiquement dans kbot3 ; - au besoin d'observabilité par une couche supérieure ; - à la trajectoire Worker qui doit reprendre le même pattern de notifications. Il laissait également le nom de la crate concrète à décider alors que la direction est désormais fixée : ```text ksp-job-backfill-lib ``` ## Corrections du prompt `0.3.6` Le prompt version 2 ouvre désormais explicitement : ```text ksp-job-api + ksp-job-backfill-lib + backfill RawTransaction historique fonctionnel + lifecycle/progression/outcome + notifications/listeners sûrs pour UI/composition ``` ### Archive kbot3 L'archive : ```text khadhroony-bot3_v0.5.3-pre.005-fix010.zip ``` redevient **obligatoire en `0.3.6-pre.001`**, mais uniquement comme inventaire fonctionnel historique. Le plan doit construire une matrice : ```text REPRENDRE FONCTIONNELLEMENT REDESSINER POUR KSP REPORTER REJETER ``` Le code, les anciennes crates, DTOs, SQL, retries et choix runtime kbot3 ne sont pas à copier. ### Parité fonctionnelle minimale à réauditer Le prompt rend explicites les invariants historiquement démontrés : - scans latest/before/after/explicit selon audit ; - anchors et directions ; - candidats/pages dédupliqués ; - nearest-newer/gap-fill si conservé ; - frontier de complétion contiguë ; - reprise après cancellation sans saut ; - cancellation coopérative pendant RPC long et wait/backoff ; - ownership séparé du retry Transport et du retry Job ; - compteurs de campagne distinguant sélection, complétion, insert/idempotence/existing, missing et observations. ### Notifications Job Le prompt exige désormais un vrai contrat d'observabilité `ksp-job-api` : ```text identity state/phase progress/snapshot checkpoint/frontier sequence ou ordre observable terminal outcome safe error code listener isolation/backpressure resynchronisation après perte/coalescing ``` Ces notifications sont explicitement distinctes : ```text Interface acquisition events Store KSP-NOTIFY-* post-commit wake-ups logging/tracing ``` Aucune dépendance Tokio/channel précise n'est imposée dans `ksp-job-api` avant l'audit `pre.001`. ### Alignement Worker futur Le même pattern conceptuel devra être repris par `ksp-worker-api`, sans créer dès `0.3.6` une crate générique spéculative supplémentaire. ## Corrections du ROADMAP La trajectoire RAW opérationnelle devient explicitement : ```text 0.3.6 ksp-job-api + ksp-job-backfill-lib + notifications 0.3.7 application backfill/inspection RAW 0.3.8 ksp-worker-api 0.3.9 ksp-worker-live-transactions-retriever-lib 0.3.10 application monitoring/visualisation Jobs + Workers ``` L'ancien placeholder générique « worker/service live ensuite » est supprimé au profit de releases nommées et ordonnées. ## Correction du CHANGELOG Le paragraphe ouvrant `0.3.6` est aligné sur la portée réelle du prompt version 2 et sur la nouvelle trajectoire ROADMAP. Aucune information sur le contenu fonctionnel déjà stabilisé de `0.3.5` n'est changée. ## Versions d'en-tête ```text CHANGELOG.md 24 -> 25 ROADMAP.md 99 -> 100 prompts/025-V0_3_6_START_PROMPT.md 1 -> 2 deltas/0.3.5/pre.008-fix.001.md nouveau -> 1 ``` ## Fichiers modifiés Exactement : ```text CHANGELOG.md ROADMAP.md prompts/025-V0_3_6_START_PROMPT.md deltas/0.3.5/pre.008-fix.001.md ``` Explicitement inchangés : ```text Cargo.toml crates/** docs/architecture/** docs/plans/026-V0_3_5_INTERFACE_ACQUISITION_EVENTS_PLAN.md docs/validation/022-V0_3_5_INTERFACE_ACQUISITION_EVENTS.md ``` ## Gate demandé Le fix ne modifie aucun Rust. Le gate minimal est : ```bash python3 scripts/audit_rust_workspace_rules.py python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.5 ``` Aucun rerun Cargo n'est requis par ce fix documentaire lui-même.