4.6 KiB
Delta 0.3.5-pre.008-fix.001 — enrichissement du prompt 0.3.6 et trajectoire Job/Worker
Base requise
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 :
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 :
ksp-job-backfill-lib
Corrections du prompt 0.3.6
Le prompt version 2 ouvre désormais explicitement :
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 :
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 :
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 :
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 :
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 :
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
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 :
CHANGELOG.md
ROADMAP.md
prompts/025-V0_3_6_START_PROMPT.md
deltas/0.3.5/pre.008-fix.001.md
Explicitement inchangés :
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 :
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.