Files
khadhroony-solana-project/deltas/0.3.4/pre.004-fix.001.md

3.5 KiB

Delta 0.3.4-pre.004-fix.001 — conformité Clippy du mapping PostgreSQL account

1. Base requise

0.3.4-pre.4

Le gate opérateur du 2026-08-30 confirme que pre.004 compile et que les suites ciblées passent, mais cargo clippy --workspace --all-targets échoue sur le nouveau mapping RawAccountState.

2. Anomalies corrigées

Dans src/raw_account.rs, les deux helpers d'extraction physique utilisent 27 formes :

row.try_get(...).map_err(...)?

Le profil workspace nie clippy::question-mark-used et clippy::implicit-return. Chaque occurrence génère donc deux erreurs Clippy, soit 54 diagnostics.

Le même gate signale un warning unused_variables pour crate_root dans pre_003_v002_schema_is_complete_without_account_trait_or_write_dispatch.

3. Correctif

Les 27 extractions sont dépliées en match typés :

Ok(value)  -> value
Err(_)     -> return Err(DataInvalid)

La logique et les phases d'erreur restent strictement identiques. Aucune macro, nouveau helper partagé ou nouvelle dépendance n'est introduit.

La variable crate_root réellement inutilisée est supprimée du seul canari concerné. Le canari pre_004_raw_account_read_sql_and_mapping_remain_backend_private_and_read_only conserve sa propre lecture de src/lib.rs, qui reste utilisée.

4. Version

Deux fichiers Rust sont modifiés. Conformément à VER-ID-007/010, le workspace passe à :

0.3.4-pre.4.fix.1

5. Scope inchangé

Le fix ne modifie pas :

GET_ACCOUNT_STATE_SQL
GET_ACCOUNT_OBSERVATION_SQL
signatures get_raw_account_state/get_raw_account_observation
modèles ksp-store-api
write SQL account
pagination/cursor KSPA
impl RawAccount*
Store dispatch account
migrations V000/V001/V002

Le checksum V002 final reste :

ff21605ed45f7ab4c0f92bbb692700b4118a9488b04d50a31d259ac59bdb550e

6. Fichiers modifiés

Cargo.toml
crates/ksp-store-postgres-lib/src/raw_account.rs
crates/ksp-store-postgres-lib/tests/dependency_boundary.rs
docs/plans/025-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT_PLAN.md
docs/validation/021-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT.md

7. Fichier ajouté

deltas/0.3.4/pre.004-fix.001.md

8. Validations exécutées dans l'environnement d'assemblage

python3 scripts/audit_rust_workspace_rules.py
    General Rust rule audit: clean
    Rust export completeness audit: 0 candidate(s)
    KSP workspace Rust rule audit: clean

python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.4
    PASS

grep '?' crates/ksp-store-postgres-lib/src/raw_account.rs
    aucune occurrence

cargo, rustc et rustfmt ne sont pas disponibles dans l'environnement d'assemblage ; aucun gate Cargo post-fix n'est revendiqué PASS ici.

9. Gate opérateur à rejouer

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

10. Verdict

pre.004-fix.001 reste strictement dans la responsabilité de pre.004 : il corrige uniquement la conformité Clippy et l'hygiène du canari du mapping/read slice déjà introduit, sans ajouter de fonctionnalité.