117 lines
4.8 KiB
Markdown
117 lines
4.8 KiB
Markdown
<!-- file: deltas/0.3.7/pre.003-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.7-pre.003-fix.001` — correction du gate Config/composition
|
|
|
|
## 1. Base requise
|
|
|
|
```text
|
|
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_*` de `ksp-app-backfill-desk/src/errors.rs` dans l'ordre alphabétique attendu ;
|
|
- utiliser un `return` explicite dans la closure `bundle.resources` du test `desktop_contract` ;
|
|
- adapter la fixture composite Backfill aux profils réduits réellement présents dans les fixtures Config (`local_dev` pour Logging, `secret_test` pour Transport), conformément aux fixtures Desk existantes ;
|
|
- faire vérifier au canari `desktop_security` la déclaration KSP interne réelle par `path`, au lieu d'exiger à tort `workspace = 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 :
|
|
|
|
```text
|
|
workspace.package.version = 0.3.7-pre.3.fix.1
|
|
label = 0.3.7-pre.003-fix.001
|
|
```
|
|
|
|
## 5. Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.7/pre.003-fix.001.md
|
|
```
|
|
|
|
## 6. Fichiers modifiés
|
|
|
|
```text
|
|
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` ;
|
|
- `devnet` de production reste sur le profil Logging `supertrace` et le fallback Backfill Desk reste `trace` ;
|
|
- registre Config et packaging restent à 14 resources ;
|
|
- aucune dépendance `ksp-onchain-transport-lib`, `ksp-store-lib`, `ksp-store-api`, `ksp-store-postgres-lib` ou `ksp-job-backfill-lib` n'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
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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.
|