Files
khadhroony-solana-project/deltas/0.3.6/pre.012.md
2026-09-01 17:42:24 +02:00

7.0 KiB

Delta 0.3.6-pre.012 — réconciliation documentaire finale Job/Backfill

1. Base requise

Base directe attendue :

0.3.6-pre.11

Le gate technique final de pre.011 est fermé : format en mode check, audits Rust/Markdown, cargo check --workspace, Clippy workspace/all-targets/all-features avec -D warnings et tests workspace/all-targets/all-features passent. Le run opérateur agrège 1_404 tests passés, 0 échec et 15 tests explicitement ignorés/opt-in. Les graphes Cargo de ksp-job-api et ksp-job-backfill-lib ainsi que l'inventaire des doublons workspace ont été exécutés et revus.

2. Objectif

Réconcilier exclusivement la documentation durable avec la surface Job/Backfill effectivement validée, sans rouvrir le comportement Rust ni commencer la publication.

La tranche couvre :

README racine
README/USAGE de ksp-job-api
README/USAGE de ksp-job-backfill-lib
index documentaires
architectures concernées par Jobs/Backfill
plan 027
validation 023

Elle ne modifie aucun src/**, test, manifeste de crate, dépendance, feature, Config, Store, Transport, CHANGELOG.md, ROADMAP.md ou prompt suivant.

3. Version

Conformément au workflow de prerelease non-fix :

workspace.package.version = 0.3.6-pre.12

Aucune autre propriété Cargo n'est modifiée.

4. Contrat durable ksp-job-api

Le nouveau README décrit la crate comme API passive et runtime-neutral possédant :

JobId / JobKindCode
JobState / JobCompletion / JobLifecycle
JobCancellationToken
JobNotificationSequence / JobNotification<S>
JobSnapshotSource / JobSnapshotFuture

Le nouveau USAGE fournit des exemples de consommation via la façade crate-root pour l'identité, le lifecycle, l'annulation et le contrat latest-value. Il ne contient aucune note de prerelease, preuve de gate ou historique de version.

La frontière de dépendance reste explicite : dépendance normale uniquement vers ksp-core-lib, aucune dépendance Transport/Store/Tokio ou domaine métier.

5. Contrat durable ksp-job-backfill-lib

Le README et le USAGE décrivent désormais la surface concrète du premier job historique RAW :

4 scopes : LatestAddress / BeforeAddress / AfterAddress / ExplicitSignatures
identité logique = (RawNetworkId, Signature)
fingerprint sémantique indépendant du JobId et de la source Transport
hydratation getTransaction observée
RAW transaction format v1 déterministe
persistance atomique via ksp-store-lib en mode Normal
concurrence d'hydratation bornée
frontier contiguë
checkpoint caller-owned
runtime concret + handle + snapshots latest-value
annulation coopérative avec drainage des persistances Store déjà soumises

La documentation distingue explicitement un checkpoint retourné au caller d'une persistance crash-safe automatique : la crate ne possède pas de stockage durable de checkpoint.

Le Store reste consommé uniquement par ksp-store-lib avec default-features = false; aucun backend physique ou ksp-store-api n'est exposé aux consommateurs Backfill.

6. Architecture et inventaires

Les documents durables suivants sont réconciliés avec le vertical désormais prouvé :

docs/architecture/002-LAYERS_AND_DEPENDENCIES.md
docs/architecture/003-COMPONENT_CONTRACTS.md
docs/architecture/004-COMPONENT_INVENTORY.md
docs/architecture/005-DEPENDENCY_GRAPH.md
docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md

Ils enregistrent notamment :

  • ksp-job-api comme API Job passive et runtime-neutral ;
  • ksp-job-backfill-lib comme première implementation concrète bornée, distincte d'un worker live permanent ;
  • les frontières Transport/Store/Job ;
  • la responsabilité caller-owned du checkpoint ;
  • les dépendances runtime privées du Backfill ;
  • l'absence de justification actuelle pour une couche générique de contrôle supplémentaire.

004-COMPONENT_INVENTORY.md introduit le statut durable Implémenté pour une surface techniquement validée mais pas encore publiée stable et l'applique aux deux composants Job de 0.3.6.

7. Index et README racine

Les index docs/, docs/plans/ et docs/validation/ référencent désormais les documents actuels jusqu'aux plans 027 et validations 023.

Le README racine décrit la fondation opérationnelle actuelle Store/Job/Backfill sans journaliser les prereleases.

8. Hors scope préservé

CHANGELOG.md
ROADMAP.md
prompt 0.3.7
src/**
tests/**
Cargo.toml de crates
dépendances/features
nouveau runtime
nouveau backend Store
application Backfill Desk
worker live
smoke live PostgreSQL

La préparation CHANGELOG / ROADMAP / prompt reste réservée à pre.013.

9. Fichiers ajoutés

crates/ksp-job-api/README.md
crates/ksp-job-api/USAGE.md
crates/ksp-job-backfill-lib/README.md
crates/ksp-job-backfill-lib/USAGE.md
deltas/0.3.6/pre.012.md

10. Fichiers modifiés

Cargo.toml
README.md
docs/000-README.md
docs/architecture/002-LAYERS_AND_DEPENDENCIES.md
docs/architecture/003-COMPONENT_CONTRACTS.md
docs/architecture/004-COMPONENT_INVENTORY.md
docs/architecture/005-DEPENDENCY_GRAPH.md
docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md
docs/plans/000-README.md
docs/plans/027-V0_3_6_JOB_API_BACKFILL_PLAN.md
docs/validation/000-README.md
docs/validation/023-V0_3_6_JOB_API_BACKFILL.md

11. Fichiers supprimés

Aucun.

12. Validations de génération

Les contrôles statiques applicables sont rejoués sur l'overlay complet :

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.6
python3 scripts/tests/test_audit_markdown_tables.py
contrôle différentiel exact contre pre.011
contrôle des versions d'en-tête
contrôle que src/tests/manifests de crates restent byte-identical
replay exact de l'archive sur pre.011

Cargo/rustc/rustfmt ne sont pas disponibles dans l'environnement de génération ; aucun nouveau résultat Cargo post-overlay n'est revendiqué ici. Les preuves techniques larges restent celles du gate pre.011.

13. Gate opérateur après application

cargo fmt --all -- --check
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.6
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-job-api
cargo test -p ksp-job-backfill-lib

Aucun cargo tree, test workspace all-features ou smoke live n'est requis par cette tranche documentaire ; ces preuves sont déjà fermées par pre.011 et aucun graphe de dépendance n'est modifié.

14. Questions ouvertes

Aucune question de design pour 0.3.6.

15. Suite

Après gate documentaire vert :

0.3.6-pre.013 — préparation publication minimale + prompt 0.3.7
0.3.6-rel.001 — stabilisation/tag v0.3.6