Files
khadhroony-solana-project/deltas/0.3.5/pre.008-fix.001.md

178 lines
4.6 KiB
Markdown

<!-- file: deltas/0.3.5/pre.008-fix.001.md -->
<!-- version: 1 -->
# 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.