Files
khadhroony-solana-project/docs/validation/024-V0_3_7_BACKFILL_DESK.md
2026-09-02 08:47:42 +02:00

6.9 KiB

Validation v0.3.7 — Backfill Desk

1. Gate pre.001

  • Archive KSP v0.3.6 testée intégralement avant travail.
  • Archive kbot3 testée intégralement et extraite dans un arbre séparé.
  • Aucune entrée ZIP absolue, traversal, séparateur inversé ou lien symbolique détecté.
  • workspace.package.version = 0.3.6 confirmé sur la base.
  • deltas/0.3.6/rel.001.md confirmé.
  • ksp-job-api, ksp-job-backfill-lib et les trois Desks existants confirmés.
  • Règles générales, Rust, dépendances, documentation, file contracts, version workflow et prompt structure relus.
  • Architectures Layers/Dependencies/Components/Jobs/Apps relues.
  • README/USAGE/plan/validation/delta v0.3.6 relus.
  • Surfaces publiques Job/Backfill auditées depuis le code stable.
  • Config composite/Transport/Store audités.
  • Gabarits Config Desk, Wallet Desk et SOL Prices Desk audités.
  • Ports 1436/1437 confirmés libres dans les gabarits existants ; 1434/1435 appartiennent à SOL Prices.
  • kbot3 audité uniquement comme référence fonctionnelle/UX.
  • Matrice REPRENDRE/REDESSINER/REPORTER/REJETER produite.
  • Screen map, DTO/command map, Config/composition map et dependency map produits.
  • Threat model produit.
  • Single-run lifecycle, rôle HTTP, validation réseau et reprise in-session tranchés.
  • Gate Tauri/live tranché sans dépendance payante obligatoire.
  • Forecast scindé afin d'éviter une tranche Transport+Store manifestement trop large.
  • 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

  • python3 scripts/audit_rust_workspace_rules.py : propre, zéro candidat d'export.
  • 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

  • BackfillRequest reste l'autorité des bornes et de la cohérence des scopes.
  • Latest/Before/After/Explicit restent les seuls scopes V1.
  • BackfillJobRuntime reste single-run.
  • BackfillJobHandle reste la primitive de contrôle.
  • BackfillSnapshotSource latest-value reste la primitive d'observation.
  • BackfillCheckpoint reste opaque et Rust-only.
  • Transport reste propriétaire retry/reroute/rate-limit/provider/endpoint.
  • Store reste propriétaire backend/persistence/idempotence.
  • Config reste propriétaire documents/env/secrets/composites.

5. Décisions de composition

  • Composite dédié config/composite.ksp-app-backfill-desk.json prévu.
  • Profils devnet, mainnet, testnet prévus avec couples Transport/Store de même réseau.
  • Default prévu : devnet.
  • Aucun std.job_backfill.json en V1.
  • Les rôles sont dérivés de Transport et validés pour getSignaturesForAddress + getTransaction.
  • Aucun rôle history_backfill n'est hardcodé ; la base standard actuelle expose default.
  • Une incohérence réseau est rejetée avant Start.
  • Le Desk ouvre Store via ksp-store-lib, jamais via backend direct.

6. Contrat IPC prévu

  • DTO applicatifs spécifiques au Desk ; aucune contrainte serde/TS-RS ajoutée aux crates Job.
  • Options DTO : réseau sûr, rôles, commitments, scopes, bornes, readiness.
  • Request DTO : inputs campagne uniquement.
  • Status DTO : lifecycle/phase/boundary/compteurs/checkpoint-present/contiguous/failure code.
  • Cancel/Resume responses sûres.
  • Aucun checkpoint opaque, Store, Transport, channel Tokio, URL, secret ou RAW payload ne traverse IPC.
  • Monitoring prévu via latest-value + événement Tauri, avec commande status de resynchronisation.

7. Threat model

  • URI Store et secrets Config restent backend-only.
  • Endpoint URLs/provider credentials restent backend-only.
  • Signatures et adresse ne sont pas loggées côté frontend.
  • RAW transaction data n'est pas projetée.
  • Bornes et signatures sont revalidées côté Rust.
  • Double Start est rejeté atomiquement.
  • Cancel/terminal race est résolue par lifecycle réel et handle installé avant spawn.
  • Checkpoint frontend forgé impossible : aucun checkpoint n'est sérialisé.
  • 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.