Files
khadhroony-solana-project/deltas/0.3.2/pre.002-fix.001.md

3.8 KiB

Delta 0.3.2-pre.002-fix.001 — ancrage compile-time des targets de tracing

1. Déclencheur

Le gate opérateur de pre.002 est fonctionnellement vert :

cargo fmt --all                                         PASS
audit Rust général / exports / workspace                PASS
audit Markdown                                           PASS — 186 tables / 125 files
cargo check --workspace                                  PASS avec warnings
cargo clippy --workspace --all-targets                   PASS avec warnings
cargo test -p ksp-store-api                              PASS
cargo test -p ksp-store-lib                              PASS
cargo test -p ksp-store-postgres-lib                     PASS
cargo check -p ksp-store-lib --no-default-features      PASS
cargo tree Store facade/backend                          fourni et conforme

L'écart est limité aux deux nouveaux scaffolds :

unused import: self::constants::TRACING_TARGET
constant TRACING_TARGET is never used

Le même défaut existe dans ksp-store-lib et ksp-store-postgres-lib.

2. Diagnostic

pre.002 ne contient encore aucun comportement Store/PostgreSQL et n'ajoute volontairement pas ksp-logging-lib. Le simple réexport crate-private du TRACING_TARGET obligatoire ne possède donc aucun site d'usage réel à cette tranche, ce qui produit les warnings observés.

Supprimer les targets n'est pas possible : l'audit workspace impose déjà :

KSP-TRACE-102 — constants.rs possède le TRACING_TARGET canonique
KSP-TRACE-103 — le crate root réexporte TRACING_TARGET

Ajouter un faux log, assouplir les règles ou poser un allow(dead_code/unused_imports) masquerait le staging réel.

3. Correction

Les deux targets et leurs réexports sont conservés à l'identique. Chaque crate ajoute uniquement un canari compile-time privé :

const _: &str = TRACING_TARGET;

Ce canari :

marque le réexport et la constante comme réellement consommés par le scaffold compilé
ne crée aucun comportement runtime
n'émet aucun log artificiel
n'ajoute pas ksp-logging-lib
n'assouplit aucun lint
préserve KSP-TRACE-102/103

Les tests de frontière figent aussi la présence de ce canari pour empêcher le retour des warnings tant que le premier comportement réel n'a pas remplacé cet usage de scaffold.

4. Version

Le correctif touche des sources Rust ; conformément à VER-ID-007 et VER-ID-010, la version workspace devient :

0.3.2-pre.2.fix.1

Identifiant de livraison :

0.3.2-pre.002-fix.001

5. Documentation durable

Le plan 023 et la validation 019 sont synchronisés :

graphe pre.002 confirmé par le gate opérateur
--no-default-features confirmé
cycle backend absent confirmé
warning TRACING_TARGET documenté puis corrigé par fix.001
TRACING_TARGET conservé et ancré compile-time sans faux log

Le delta pre.002.md n'est pas réécrit : une livraison déjà émise reste immuable et son correctif est tracé séparément.

6. Hors scope

Aucun changement de périmètre fonctionnel :

pas de StoreSettings
pas de Store runtime public
pas de Config std.store
pas de ksp-logging-lib
pas de Tokio/tokio-postgres/Deadpool/Rustls
pas de connexion PostgreSQL
pas de migration
pas de SQL métier

7. Validation opérateur requise

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.2
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-store-lib
cargo test -p ksp-store-postgres-lib
cargo check -p ksp-store-lib --no-default-features

Le passage à pre.003 reste interdit si un warning ou un nouvel écart apparaît.