6.9 KiB
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.6confirmé sur la base.deltas/0.3.6/rel.001.mdconfirmé.ksp-job-api,ksp-job-backfill-libet 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écutablecargoabsent.cargo check --workspace: non exécuté localement, exécutablecargoabsent.cargo clippy --workspace --all-targets: non exécuté localement, exécutablecargoabsent.
4. Surface KSP acquise à préserver
BackfillRequestreste l'autorité des bornes et de la cohérence des scopes.- Latest/Before/After/Explicit restent les seuls scopes V1.
BackfillJobRuntimereste single-run.BackfillJobHandlereste la primitive de contrôle.BackfillSnapshotSourcelatest-value reste la primitive d'observation.BackfillCheckpointreste 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.jsonprévu. - Profils
devnet,mainnet,testnetprévus avec couples Transport/Store de même réseau. - Default prévu :
devnet. - Aucun
std.job_backfill.jsonen V1. - Les rôles sont dérivés de Transport et validés pour
getSignaturesForAddress+getTransaction. - Aucun rôle
history_backfilln'est hardcodé ; la base standard actuelle exposedefault. - 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 --workspacefinal 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.