fix(260): Categorize-Gate frisst Llama-Status statt suggest()-Init #261

Merged
admin-mrrm merged 1 commit from fix/260-categorize-readiness-gate into main 2026-05-14 19:39:50 +02:00
Owner

Closes #260.

Summary

  • useCategorizeFolder.run() blockte bisher mit isReady aus useMailModel. isReady wird aber nur durch Llama-Init gesetzt. Seit #250/#251 deckt NLI viele Cases ohne Llama-Init ab → Status bleibt 'idle' → Categorize war permanent geblockt.
  • Gate raus. Nur die echte 'downloading'-Phase bleibt blockiert. suggest() macht Lazy-Init selbst (analog zu AutoSuggest, dort schon dokumentiert).

Tests

  • pnpm --filter mobile test 36 / 36
  • pnpm --filter mobile typecheck
  • Kein Hook-Test-Setup im Mobile-Vitest (kein jsdom / react-testing-library) — Change ist 6-Zeilen-Removal, manuelles QA.

Test plan

  • App-Daten clear → Mail im Reader öffnen → NLI lädt + vergibt Tags → zurück → Folder "Kategorisieren" → muss laufen statt "KI-Modell nicht bereit"
  • Während Llama-Download (z.B. via langsamer Mail in Reader-AutoSuggest) Folder Kategorisieren → muss "Modell wird noch heruntergeladen" zeigen
Closes #260. ## Summary - `useCategorizeFolder.run()` blockte bisher mit `isReady` aus `useMailModel`. `isReady` wird aber nur durch Llama-Init gesetzt. Seit #250/#251 deckt NLI viele Cases ohne Llama-Init ab → Status bleibt `'idle'` → Categorize war permanent geblockt. - Gate raus. Nur die echte `'downloading'`-Phase bleibt blockiert. `suggest()` macht Lazy-Init selbst (analog zu AutoSuggest, dort schon dokumentiert). ## Tests - `pnpm --filter mobile test` ✅ 36 / 36 - `pnpm --filter mobile typecheck` ✅ - Kein Hook-Test-Setup im Mobile-Vitest (kein jsdom / react-testing-library) — Change ist 6-Zeilen-Removal, manuelles QA. ## Test plan - [ ] App-Daten clear → Mail im Reader öffnen → NLI lädt + vergibt Tags → zurück → Folder "Kategorisieren" → muss laufen statt "KI-Modell nicht bereit" - [ ] Während Llama-Download (z.B. via langsamer Mail in Reader-AutoSuggest) Folder Kategorisieren → muss "Modell wird noch heruntergeladen" zeigen
fix(260): Categorize-Gate frisst Llama-Status statt suggest()-Init
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
33b8e0d95d
`isReady` aus `useMailModel` reflektiert nur den Llama-Init-Status. Seit
#250 (NLI auf RN) + #251 (Threshold 0.30) deckt NLI viele Cases ohne
Llama-Init ab → Status bleibt 'idle' → Categorize-Button war für immer
blockiert mit "KI-Modell nicht bereit. Bitte zuerst eine Mail im Reader
öffnen.", auch wenn AutoSuggest im Reader direkt davor erfolgreich
NLI-Tags vergeben hat.

`mailModelManager.suggest()` initialisiert beide Modelle selbst lazy —
das nutzt AutoSuggest schon (siehe Kommentar in use-auto-suggest-tags).
Den Gate entsprechend rausnehmen; nur die echte 'downloading'-Phase
weiter blockieren, um nicht parallel zum laufenden Download zu starten.

Manuelles QA: Folder kategorisieren nach erfolgreichem Reader-Lauf
funktioniert jetzt direkt, ohne Reset-Tricks.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!261
No description provided.