v0.3.7-pre.001
This commit is contained in:
111
docs/validation/024-V0_3_7_BACKFILL_DESK.md
Normal file
111
docs/validation/024-V0_3_7_BACKFILL_DESK.md
Normal file
@@ -0,0 +1,111 @@
|
||||
<!-- file: docs/validation/024-V0_3_7_BACKFILL_DESK.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Validation v0.3.7 — Backfill Desk
|
||||
|
||||
## 1. Gate pre.001
|
||||
|
||||
- [X] Archive KSP v0.3.6 testée intégralement avant travail.
|
||||
- [X] Archive kbot3 testée intégralement et extraite dans un arbre séparé.
|
||||
- [X] Aucune entrée ZIP absolue, traversal, séparateur inversé ou lien symbolique détecté.
|
||||
- [X] `workspace.package.version = 0.3.6` confirmé sur la base.
|
||||
- [X] `deltas/0.3.6/rel.001.md` confirmé.
|
||||
- [X] `ksp-job-api`, `ksp-job-backfill-lib` et les trois Desks existants confirmés.
|
||||
- [X] Règles générales, Rust, dépendances, documentation, file contracts, version workflow et prompt structure relus.
|
||||
- [X] Architectures Layers/Dependencies/Components/Jobs/Apps relues.
|
||||
- [X] README/USAGE/plan/validation/delta v0.3.6 relus.
|
||||
- [X] Surfaces publiques Job/Backfill auditées depuis le code stable.
|
||||
- [X] Config composite/Transport/Store audités.
|
||||
- [X] Gabarits Config Desk, Wallet Desk et SOL Prices Desk audités.
|
||||
- [X] Ports 1436/1437 confirmés libres dans les gabarits existants ; 1434/1435 appartiennent à SOL Prices.
|
||||
- [X] kbot3 audité uniquement comme référence fonctionnelle/UX.
|
||||
- [X] Matrice REPRENDRE/REDESSINER/REPORTER/REJETER produite.
|
||||
- [X] Screen map, DTO/command map, Config/composition map et dependency map produits.
|
||||
- [X] Threat model produit.
|
||||
- [X] Single-run lifecycle, rôle HTTP, validation réseau et reprise in-session tranchés.
|
||||
- [X] Gate Tauri/live tranché sans dépendance payante obligatoire.
|
||||
- [X] Forecast scindé afin d'éviter une tranche Transport+Store manifestement trop large.
|
||||
- [X] Aucun scaffold Tauri, code Rust/TS/HTML ou composite runtime ajouté en pre.001.
|
||||
|
||||
## 2. Preuve des archives
|
||||
|
||||
| Source | SHA-256 | Résultat | Usage |
|
||||
|-----------------------------------------------------------|--------------------------------------------------------------------|---------------------------|--------------------------------|
|
||||
| `khadhroony-solana-project-v0.3.6.zip` | `90eceb9fd28d87e580e3881cdd3eda935784532caac07d0ba3fb845be664c845` | 1 594 entrées, ZIP propre | source exclusive de code |
|
||||
| `khadhroony-bot3_v0.5.3-pre.005-fix010-thelatest1(2).zip` | `ee47643b9f8b582ee8db97b2381ec107e45aef8c009fee44757531514615d318` | 2 501 entrées, ZIP propre | référence fonctionnelle isolée |
|
||||
| `Texte collé(20260901-220002).txt` | `f70930be652d2532e2403f01227af9870fd31ec0603e64ddadca4a44d910d8cc` | journal opérateur | preuve externe baseline v0.3.6 |
|
||||
|
||||
Le journal opérateur fourni rapporte `cargo clean`, `cargo fmt`, audits Rust/Markdown, `cargo check --workspace`, Clippy, suites ciblées de toutes les crates, arbres Job/Backfill et `cargo tree --duplicates` sur v0.3.6. Cette preuve est conservée comme externe ; elle n'est pas assimilée à une exécution locale de pre.001.
|
||||
|
||||
## 3. Baseline locale
|
||||
|
||||
- [X] `python3 scripts/audit_rust_workspace_rules.py` : propre, zéro candidat d'export.
|
||||
- [X] `python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas` : 295 tables / 652 fichiers propres avant modification.
|
||||
- [ ] `cargo fmt --all` : non exécuté localement, exécutable `cargo` absent.
|
||||
- [ ] `cargo check --workspace` : non exécuté localement, exécutable `cargo` absent.
|
||||
- [ ] `cargo clippy --workspace --all-targets` : non exécuté localement, exécutable `cargo` absent.
|
||||
|
||||
## 4. Surface KSP acquise à préserver
|
||||
|
||||
- [X] `BackfillRequest` reste l'autorité des bornes et de la cohérence des scopes.
|
||||
- [X] Latest/Before/After/Explicit restent les seuls scopes V1.
|
||||
- [X] `BackfillJobRuntime` reste single-run.
|
||||
- [X] `BackfillJobHandle` reste la primitive de contrôle.
|
||||
- [X] `BackfillSnapshotSource` latest-value reste la primitive d'observation.
|
||||
- [X] `BackfillCheckpoint` reste opaque et Rust-only.
|
||||
- [X] Transport reste propriétaire retry/reroute/rate-limit/provider/endpoint.
|
||||
- [X] Store reste propriétaire backend/persistence/idempotence.
|
||||
- [X] Config reste propriétaire documents/env/secrets/composites.
|
||||
|
||||
## 5. Décisions de composition
|
||||
|
||||
- [X] Composite dédié `config/composite.ksp-app-backfill-desk.json` prévu.
|
||||
- [X] Profils `devnet`, `mainnet`, `testnet` prévus avec couples Transport/Store de même réseau.
|
||||
- [X] Default prévu : `devnet`.
|
||||
- [X] Aucun `std.job_backfill.json` en V1.
|
||||
- [X] Les rôles sont dérivés de Transport et validés pour `getSignaturesForAddress` + `getTransaction`.
|
||||
- [X] Aucun rôle `history_backfill` n'est hardcodé ; la base standard actuelle expose `default`.
|
||||
- [X] Une incohérence réseau est rejetée avant Start.
|
||||
- [X] Le Desk ouvre Store via `ksp-store-lib`, jamais via backend direct.
|
||||
|
||||
## 6. Contrat IPC prévu
|
||||
|
||||
- [X] DTO applicatifs spécifiques au Desk ; aucune contrainte serde/TS-RS ajoutée aux crates Job.
|
||||
- [X] Options DTO : réseau sûr, rôles, commitments, scopes, bornes, readiness.
|
||||
- [X] Request DTO : inputs campagne uniquement.
|
||||
- [X] Status DTO : lifecycle/phase/boundary/compteurs/checkpoint-present/contiguous/failure code.
|
||||
- [X] Cancel/Resume responses sûres.
|
||||
- [X] Aucun checkpoint opaque, Store, Transport, channel Tokio, URL, secret ou RAW payload ne traverse IPC.
|
||||
- [X] Monitoring prévu via latest-value + événement Tauri, avec commande status de resynchronisation.
|
||||
|
||||
## 7. Threat model
|
||||
|
||||
- [X] URI Store et secrets Config restent backend-only.
|
||||
- [X] Endpoint URLs/provider credentials restent backend-only.
|
||||
- [X] Signatures et adresse ne sont pas loggées côté frontend.
|
||||
- [X] RAW transaction data n'est pas projetée.
|
||||
- [X] Bornes et signatures sont revalidées côté Rust.
|
||||
- [X] Double Start est rejeté atomiquement.
|
||||
- [X] Cancel/terminal race est résolue par lifecycle réel et handle installé avant spawn.
|
||||
- [X] Checkpoint frontend forgé impossible : aucun checkpoint n'est sérialisé.
|
||||
- [X] Capabilities Tauri prévues minimales : core + tracing seulement tant qu'aucun autre besoin n'est démontré.
|
||||
|
||||
## 8. Gates futures
|
||||
|
||||
- [ ] Package Rust lib + bin conforme.
|
||||
- [ ] Ports Vite/HMR 1436/1437 stricts.
|
||||
- [ ] Splash/main + tracing conformes.
|
||||
- [ ] Composite Backfill Desk packagé et valide.
|
||||
- [ ] Transport readiness et role inventory sûrs.
|
||||
- [ ] Store readiness et cohérence réseau.
|
||||
- [ ] Quatre scopes + commitments + bornes mappés.
|
||||
- [ ] Single active run + Start.
|
||||
- [ ] Snapshot latest-value bridge.
|
||||
- [ ] Cancel + races terminales.
|
||||
- [ ] Checkpoint/frontier projection + Resume in-session.
|
||||
- [ ] Frontend/security/composition tests verts.
|
||||
- [ ] `cargo test --workspace` final vert.
|
||||
- [ ] `(cd crates/ksp-app-backfill-desk && cargo tauri build)` final vert.
|
||||
- [ ] Smoke live opt-in exécuté si environnement sûr disponible, sinon explicitement non requis.
|
||||
- [ ] Réconciliation README/USAGE/plan/validation dans sa tranche dédiée.
|
||||
- [ ] Prompt 0.3.8 + CHANGELOG + ROADMAP uniquement dans la lane de publication.
|
||||
Reference in New Issue
Block a user