fix(quality): kwaliteitsknop belooft niet meer dan hij oplost (#1280) #1286

Merged
brenno merged 1 commit from fix/1280-fixall-quality into main 2026-08-05 20:38:53 +00:00
Owner

De knop "Fix alle problemen" liet problemen staan: de motor lost bewust maar 8 van de 43 kwaliteitscategorieën op (contrast/alt-tekst/privacy vragen menselijk oordeel), en de knop-poort was ruimer dan de motor-poort — de knop verscheen soms en deed dan niets.

  • Deel A — knop-poort motor-accuraat: nieuwe top-level hasApplicableStructuralFix(deck) in quality_autofix.dart spiegelt de echte motorpoort; het paneel toont de knop nu alleen als er ook echt iets wordt opgelost (knop zichtbaar ⇔ applied > 0).
  • Deel B — eerlijk label: Fix alle problemenLos automatisch op wat kan (EN "Fix what can be automated"), in alle 31 talen; de oude sleutel is opgeruimd.
  • Regressietests (eerst-rood): hasApplicableStructuralFix spiegelt of de motor echt iets doet; widget-test op een gemengd deck (te volle dia + contrastmelding) — na de klik blijft de contrastmelding en verdwijnt de knop.

Volledige make check groen (8605 tests, 87,1% dekking).

Closes #1280

🤖 Generated with Claude Code

De knop "Fix alle problemen" liet problemen staan: de motor lost bewust maar 8 van de 43 kwaliteitscategorieën op (contrast/alt-tekst/privacy vragen menselijk oordeel), en de knop-poort was ruimer dan de motor-poort — de knop verscheen soms en deed dan niets. - **Deel A — knop-poort motor-accuraat**: nieuwe top-level `hasApplicableStructuralFix(deck)` in `quality_autofix.dart` spiegelt de echte motorpoort; het paneel toont de knop nu alleen als er ook echt iets wordt opgelost (knop zichtbaar ⇔ `applied > 0`). - **Deel B — eerlijk label**: `Fix alle problemen` → `Los automatisch op wat kan` (EN "Fix what can be automated"), in alle 31 talen; de oude sleutel is opgeruimd. - Regressietests (eerst-rood): `hasApplicableStructuralFix` spiegelt of de motor echt iets doet; widget-test op een gemengd deck (te volle dia + contrastmelding) — na de klik blijft de contrastmelding en verdwijnt de knop. Volledige `make check` groen (8605 tests, 87,1% dekking). Closes #1280 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(quality): kwaliteitsknop beloofde meer dan hij oploste (#1280)
All checks were successful
scans / scans (pull_request) Successful in 2m23s
static-gate / static-gate (pull_request) Successful in 5m43s
5bd5651a2c
Het kwaliteitspaneel had een knop "Fix alle problemen" die na indrukken
problemen liet staan. Twee lagen hersteld:

- Laag 2 (knop-poort motor-accuraat): nieuwe top-level helper
  `hasApplicableStructuralFix` in quality_autofix.dart spiegelt de echte
  motorpoort (`_applyNextFix != null`). Het paneel gebruikt hem nu i.p.v.
  de ruimere soort-poort `isStructurallyAutofixable`, zodat de knop
  zichtbaar is <=> er ook echt iets wordt opgelost. Geen dode knop meer bij
  bijv. een woord-melding op een dia met te weinig bullets om te splitsen.
- Laag 1 (eerlijk label): "Fix alle problemen" -> "Los automatisch op wat
  kan" (EN "Fix what can be automated"), in alle 31 talen. Oude sleutel
  opgeruimd. De motor pakt bewust alleen structureel-veilige categorieen
  aan; contrast/alt-tekst/privacy vragen menselijk oordeel en blijven staan.

Regressietests (eerst-rood bewezen): quality_autofix_test.dart bewaakt dat
de helper `applied > 0` spiegelt (7 bullets x 13 woorden: melding zonder
toepasbare fix); slide_quality_panel_test.dart bewaakt dat op een gemengd
deck de te volle dia wordt gesplitst, de contrastmelding blijft en de knop
verdwijnt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 5d9f78ccdd into main 2026-08-05 20:38:53 +00:00
brenno deleted branch fix/1280-fixall-quality 2026-08-05 20:38:56 +00:00
Sign in to join this conversation.
No description provided.