Ziel
The three scanned-PDF eval cases (s01–s03) measure real OCR extraction instead of only the "no text → missing" path. Today the replay gate runs with AI_PDF_OCR=off, because CI does not download the OCR models (#23 / PR #40, #24 / PR #41).
Akzeptanzkriterien
Nicht Teil dieser Aufgabe
- Live model calls (still no credentials in CI).
- Enabling OCR by default in production.
Betroffene Bereiche
.github/workflows/ci.yml (AI service + eval gate steps), services/ai/evals/, services/ai/README.md, PREFETCH_OCR_MODELS
Testplan
| Kriterium |
Prüfart |
| Models available + cached |
CI run log |
| s01–s03 scored with OCR |
eval gate output in CI |
| Missing model fails |
manual CI run with cache cleared / unit test of the preflight |
Offene Entscheidungen
Security/Privacy betroffen?
Supply chain: model files from an external host → pin by checksum. Only synthetic eval documents.
Ziel
The three scanned-PDF eval cases (s01–s03) measure real OCR extraction instead of only the "no text → missing" path. Today the replay gate runs with
AI_PDF_OCR=off, because CI does not download the OCR models (#23 / PR #40, #24 / PR #41).Akzeptanzkriterien
after_ocrexpectations; the baseline is updated once, deliberately.AI_TEST_DOCLING_MODELS=1) run in CI.Nicht Teil dieser Aufgabe
Betroffene Bereiche
.github/workflows/ci.yml(AI service + eval gate steps),services/ai/evals/,services/ai/README.md,PREFETCH_OCR_MODELSTestplan
Offene Entscheidungen
Security/Privacy betroffen?
Supply chain: model files from an external host → pin by checksum. Only synthetic eval documents.