docs(sdd): scope dart format to touched files in all verify commands

This commit is contained in:
2026-07-28 20:12:47 +02:00
parent 610016e935
commit e99ecffb0c
3 changed files with 46 additions and 22 deletions
@@ -212,7 +212,9 @@ docs check before anything is specced.
7. **Characterise before refactoring shared code.** WU7 writes regression tests for the 8 existing station calls
*before* extracting transport out of `_get` — the refactor is only safe if the old behaviour is pinned first.
8. **Strict TDD throughout.** Tests are written before implementation for every WU. `flutter test` is the runner.
`flutter analyze` and `dart format .` gate every commit. **`flutter build` is never run.**
`flutter analyze` and a **scoped** `dart format` gate every commit — never bare `dart format .`, which reformats
27 unrelated pre-existing files (Engram `reference/dart-format-scope-hazard`, id 2511).
**`flutter build` is never run.**
9. **Translate once.** WU18 batches all new ARB keys at the end rather than paying 13-locale cost per slice.
## Affected Areas
@@ -333,7 +335,7 @@ Commits: conventional commits only. **No `Co-Authored-By`, no AI attribution, ev
- [ ] `PluriWaveTokens` exposes `listSurface`, `liveGreen`, and `offlineAccent`; no screen file introduces a new raw `Color(0x...)` literal.
- [ ] All 13 ARB files have identical key sets, with zero missing keys. `navHome` still exists as a key in all 13 — the rename changed values only.
- [ ] **No ARB file maps `navHome` to a "home" concept.** `app_en.arb` reads `"Listen"`, `app_es.arb` reads `"Escuchar"`, and `git diff` shows **13** changed `navHome` lines. A grep for the literals `"Inicio"`/`"Home"` is **not** sufficient — 11 locales express "home" in their own language (`Beranda`, `Accueil`, `Start`, `Início`, `ホーム`, `首页`, `Главная`, `الرئيسية`, `হোম`, `मुखपृष्ठ`, `Inizio`), so the check must be the 13-line diff, not a literal grep.
- [ ] `flutter test` green, `flutter analyze` clean, `dart format .` produces no diff.
- [ ] `flutter test` green, `flutter analyze` clean, and a **scoped** `dart format` over the files this change touched produces no diff. **Never bare `dart format .`** — verified on this machine, it reformats 27 pre-existing unrelated files (formatter version skew: Dart SDK 3.12.0 vs. the repo's committed formatting), which would break the empty-`git diff` guards below. See Engram `reference/dart-format-scope-hazard` (id 2511).
- [ ] The equalizer renders exactly **5** sliders. `assert(bandas.length == 5)` in `preset_ecualizador.dart` is unchanged, and `git diff` is empty for `lib/servicios/servicio_ecualizador.dart` and the band-application block at `lib/servicios/servicio_audio.dart:749-762`.
- [ ] `test/servicios/servicio_ecualizador_test.dart`, `test/estado/estado_ecualizador_test.dart`, and `test/servicios/servicio_audio_eq_reapply_test.dart` pass **unmodified**.
- [ ] The Países browser calls **`/json/countries`**. Grep confirms `countrycodes` appears nowhere in `lib/`.