4.8 KiB
Delta 0.3.7-pre.003-fix.001 — correction du gate Config/composition
1. Base requise
0.3.7-pre.003
workspace.package.version = 0.3.7-pre.3
Le gate opérateur du 2026-09-02 a validé cargo check --workspace, le Markdown et la majorité des suites ciblées, mais a isolé quatre défauts locaux : une violation RUST-FMT-104, un lint Clippy implicit_return, une incohérence de fixture Config Desk et un canari de manifeste Backfill Desk obsolète.
2. Objectif
Corriger uniquement ces quatre défauts de pre.003 sans ouvrir pre.004, sans modifier le comportement runtime et sans changer le composite Backfill Desk de production.
3. Corrections
- remettre le bloc de constantes
ERROR_CODE_*deksp-app-backfill-desk/src/errors.rsdans l'ordre alphabétique attendu ; - utiliser un
returnexplicite dans la closurebundle.resourcesdu testdesktop_contract; - adapter la fixture composite Backfill aux profils réduits réellement présents dans les fixtures Config (
local_devpour Logging,secret_testpour Transport), conformément aux fixtures Desk existantes ; - faire vérifier au canari
desktop_securityla déclaration KSP interne réelle parpath, au lieu d'exiger à tortworkspace = true.
La source config/composite.ksp-app-backfill-desk.json reste inchangée : devnet continue d'utiliser supertrace + devnet_public + devnet.
4. Version
Le correctif modifie des fichiers Rust compilés. VER-ID-007 et VER-ID-010 imposent donc :
workspace.package.version = 0.3.7-pre.3.fix.1
label = 0.3.7-pre.003-fix.001
5. Fichiers ajoutés
deltas/0.3.7/pre.003-fix.001.md
6. Fichiers modifiés
Cargo.toml
crates/ksp-app-backfill-desk/src/errors.rs
crates/ksp-app-backfill-desk/tests/desktop_contract.rs
crates/ksp-app-backfill-desk/tests/desktop_security.rs
crates/ksp-config-lib/unit_tests/fixtures/composite.ksp-app-backfill-desk.json
docs/plans/028-V0_3_7_BACKFILL_DESK_PLAN.md
docs/validation/024-V0_3_7_BACKFILL_DESK.md
7. Fichiers supprimés
Aucun.
8. Invariants conservés
- aucune modification de
config/composite.ksp-app-backfill-desk.json; devnetde production reste sur le profil Loggingsupertraceet le fallback Backfill Desk restetrace;- registre Config et packaging restent à 14 resources ;
- aucune dépendance
ksp-onchain-transport-lib,ksp-store-lib,ksp-store-api,ksp-store-postgres-libouksp-job-backfill-libn'est ajoutée à Backfill Desk ; - aucune construction
HttpTransportPool, ouverture Store ou exécution Backfill n'est introduite ; - capabilities Tauri et frontend inchangés.
9. Gate opérateur ayant déclenché le fix
Rust rule audit FAIL — 1 x RUST-FMT-104
Markdown table audit PASS — 270 tables / 150 files
cargo check --workspace PASS
cargo clippy --workspace --all-targets FAIL — implicit_return dans desktop_contract.rs
cargo test -p ksp-config-lib PASS
cargo test -p ksp-app-config-desk FAIL — fixture composite / profil Logging absent
cargo test -p ksp-app-wallet-desk PASS
cargo test -p ksp-app-solprices-desk PASS
cargo test -p ksp-app-backfill-desk FAIL — canari de manifeste obsolète
10. Validations exécutées 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.7
Des contrôles ciblés vérifient également la cohérence des profils référencés par la fixture Backfill et l'absence de modification du composite de production.
11. Validations non exécutées dans l'environnement d'assemblage
cargo et rustfmt ne sont pas disponibles dans cet environnement. Le gate opérateur du fix reste à 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.7
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-config-lib
cargo test -p ksp-app-config-desk
cargo test -p ksp-app-wallet-desk
cargo test -p ksp-app-solprices-desk
cargo test -p ksp-app-backfill-desk
cargo tree -p ksp-app-backfill-desk --edges normal
cargo tree -p ksp-app-backfill-desk -e features
12. Décisions
Les quatre défauts ont été introduits ou révélés par la composition Config de pre.003. Ils restent donc dans pre.003-fix.001 conformément à VER-ID-006 et VER-LIFECYCLE-009. pre.004 reste bloquée jusqu'à un gate opérateur propre du correctif.
13. Questions ouvertes
Aucune.