Files
khadhroony-solana-project/deltas/0.3.6/pre.009-fix.002.md

3.1 KiB

Delta v0.3.6-pre.009-fix.002

Base requise

  • 0.3.6-pre.9.fix.1 / livraison pre.009-fix.001.
  • Les audits Rust/Markdown du gate opérateur sont propres.
  • cargo check --workspace bloque sur E0423 dans crates/ksp-job-backfill-lib/src/request.rs avant que Clippy/tests puissent valider le fix.
  • La cause est précise : BackfillScopeFingerprint est public et correctement référencé via le crate-root, mais son constructeur de tuple struct n'est pas visible via le réexport parce que son champ [u8; 32] reste privé dans request.rs.

Correctif

Le fix conserve l'opacité publique du fingerprint et ne réintroduit pas un accès par nom local.

impl crate::BackfillScopeFingerprint reçoit un constructeur associé strictement privé :

const fn from_bytes(bytes: [u8; 32]) -> Self {
    return Self(bytes);
}

La fonction de calcul appelle ensuite :

return crate::BackfillScopeFingerprint::from_bytes(bytes);

Ainsi :

  • les consommateurs et le module propriétaire continuent de référencer le type partagé via crate::BackfillScopeFingerprint ;
  • l'initialisation du champ privé reste confinée dans l'impl situé dans le module propriétaire ;
  • le champ ne devient ni pub ni pub(crate) ;
  • aucun chemin crate::request::BackfillScopeFingerprint n'est introduit ;
  • aucun contrat public, octet de fingerprint, hash, scope, checkpoint, runtime, dépendance ou feature ne change.

Cargo et versions de fichiers

  • workspace.package.version : 0.3.6-pre.9.fix.1 -> 0.3.6-pre.9.fix.2.
  • Cargo.toml : version d'en-tête 409 -> 410.
  • crates/ksp-job-backfill-lib/src/request.rs : 4 -> 5.
  • plan 027 : 17 -> 20 (trois révisions réelles pendant la matérialisation du fix).
  • validation 023 : 17 -> 20 (trois révisions réelles pendant la matérialisation du fix).

Graphe de dépendances

Aucune dépendance ni feature ne change. Aucun cargo tree n'est requis pour ce fix, sauf revalidation volontaire après un cargo clean séparé.

Payload

Ajout :

  • deltas/0.3.6/pre.009-fix.002.md

Modifications :

  • Cargo.toml
  • crates/ksp-job-backfill-lib/src/request.rs
  • docs/plans/027-V0_3_6_JOB_API_BACKFILL_PLAN.md
  • docs/validation/023-V0_3_6_JOB_API_BACKFILL.md

Aucune suppression.

Validations d'assemblage

À exécuter dans l'environnement d'assemblage :

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

L'environnement d'assemblage ne fournit ni Cargo, ni Rustc, ni Rustfmt ; le gate Rust reste donc opérateur.

Gate opérateur demandé

cargo fmt --all
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-backfill-lib

Résultat attendu : 47 unitaires + 10 canaries d'intégration, sans warning Clippy.