Benjamin Admin
c2c082d4b4
docs+tests: update OCR Pipeline docs and add overlay position tests
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 27s
CI / test-go-edu-search (push) Successful in 28s
CI / test-python-klausur (push) Failing after 2m5s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 17s
MkDocs: document row-based merge algorithm, spatial overlap dedup,
and per-word yPct/hPct rendering in OCR Pipeline docs.
Tests: add 9 vitest tests for useSlideWordPositions covering
word-box path, fallback path, and yPct/hPct contract.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 21:03:00 +01:00
Benjamin Admin
61c8169f9e
docs+test: add Kombi-Modus tests (19 passing) and MkDocs documentation
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 35s
CI / test-go-edu-search (push) Successful in 32s
CI / test-python-klausur (push) Failing after 2m33s
CI / test-python-agent-core (push) Successful in 20s
CI / test-nodejs-website (push) Successful in 24s
- test_paddle_kombi.py: 6 IoU tests, 10 merge tests, 2 bullet-point tests
- OCR-Pipeline.md: new "OCR Overlay" section with Paddle Direct/Kombi docs,
merge algorithm flowchart, dateistruktur update, changelog v4.5.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 20:18:46 +01:00
Benjamin Admin
a6069631cc
feat: PaddleOCR Remote-Engine (PP-OCRv5 Latin auf Hetzner x86_64)
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 31s
CI / test-go-edu-search (push) Successful in 29s
CI / test-python-klausur (push) Failing after 2m7s
CI / test-python-agent-core (push) Successful in 21s
CI / test-nodejs-website (push) Successful in 21s
PaddleOCR als neue engine=paddle Option in der OCR-Pipeline.
Microservice auf Hetzner (paddleocr-service/), async HTTP-Client
(paddleocr_remote.py), Frontend-Dropdown, automatisch words_first.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 09:31:22 +01:00
Benjamin Admin
ced5bb3dd3
feat: Words-First Grid Builder (bottom-up alternative zu cell_grid_v2)
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 54s
CI / test-go-edu-search (push) Successful in 47s
CI / test-python-klausur (push) Failing after 2m31s
CI / test-python-agent-core (push) Successful in 23s
CI / test-nodejs-website (push) Successful in 32s
Neuer Algorithmus in cv_words_first.py: Clustert Tesseract word_boxes
direkt zu Spalten (X-Gap) und Zeilen (Y-Proximity), baut Zellen an
Schnittpunkten. Kein Spalten-/Zeilenerkennung noetig.
- cv_words_first.py: _cluster_columns, _cluster_rows, _build_cells, build_grid_from_words
- ocr_pipeline_api.py: grid_method Parameter (v2|words_first) im /words Endpoint
- StepWordRecognition.tsx: Dropdown Toggle fuer Grid-Methode
- OCR-Pipeline.md: Doku v4.3.0 mit Words-First Algorithmus
- 15 Unit-Tests fuer cv_words_first
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 06:46:05 +01:00
Benjamin Admin
e60254bc75
fix: alle Post-Crop-Schritte nutzen cropped statt dewarped Bild
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 27s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Failing after 1m59s
CI / test-python-agent-core (push) Successful in 17s
CI / test-nodejs-website (push) Successful in 24s
Spalten-, Zeilen-, Woerter-Overlay und alle nachfolgenden Steps
(LLM-Review, Rekonstruktion) lesen jetzt image/cropped mit Fallback
auf image/dewarped. Tests fuer page_crop.py hinzugefuegt (25 Tests).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 09:10:10 +01:00
Benjamin Admin
2763631711
feat: Orientierung + Zuschneiden als Schritte 1-2 in OCR-Pipeline
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Failing after 1m59s
CI / test-python-agent-core (push) Successful in 17s
CI / test-nodejs-website (push) Successful in 18s
Zwei neue Wizard-Schritte vor Begradigung:
- Step 1: Orientierungserkennung (0/90/180/270° via Tesseract OSD)
- Step 2: Seitenrand-Erkennung und Zuschnitt (Scannerraender entfernen)
Backend:
- orientation_crop_api.py: POST /orientation, POST /crop, POST /crop/skip
- page_crop.py: detect_and_crop_page() mit Format-Erkennung (A4/A5/Letter)
- Session-Store: orientation_result, crop_result Felder
- Pipeline nutzt zugeschnittenes Bild fuer Deskew/Dewarp
Frontend:
- StepOrientation.tsx: Upload + Auto-Orientierung + Vorher/Nachher
- StepCrop.tsx: Auto-Crop + Format-Badge + Ueberspringen-Option
- Pipeline-Stepper: 10 Schritte (war 8)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 23:55:23 +01:00
Benjamin Admin
1cc69d6b5e
feat: OCR pipeline step 8 — validation view with image detection & generation
...
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 29s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Failing after 2m4s
CI / test-python-agent-core (push) Successful in 19s
CI / test-nodejs-website (push) Successful in 19s
Replaces the stub StepGroundTruth with a full side-by-side Original vs
Reconstruction view. Adds VLM-based image region detection (qwen2.5vl),
mflux image generation proxy, sync scroll/zoom, manual region drawing,
and score/notes persistence.
New backend endpoints: detect-images, generate-image, validate, get validation.
New standalone mflux-service (scripts/mflux-service.py) for Metal GPU generation.
Dockerfile.base: adds fonts-liberation (Apache-2.0).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:40:37 +01:00
Benjamin Admin
970ec1f548
docs: OCR-Pipeline v2.0.0 – alle Optimierungen 2026-03-03 dokumentiert
...
- Schritte 6–8 jetzt vollständig dokumentiert (nicht mehr "Geplant")
- Step 3: Full-Width-Scan, Phantom-Filter-Detail
- Step 4: Artefakt-Zeilen, Gap-Healing
- Step 6: Spell Checker, Char Confusion (_fix_character_confusion),
SSE-Protokoll, Env-Vars (REVIEW_ENGINE, OLLAMA_REVIEW_*)
- Step 7: Rekonstruktions-Canvas, leere Zellen editierbar
- Dependencies-Tabelle mit pyspellchecker als neue Dependency
- Änderungshistorie mit allen 2026-03-03 Commits
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-03 18:42:25 +01:00
Benjamin Admin
f39314fb27
docs: add Chunk-Browser documentation
...
- Document Chunk-Browser tab functionality and API
- Cover scroll endpoint, text search, pagination
- Document Originalquelle links and low-chunk warnings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 09:50:36 +01:00
Benjamin Admin
954103cdf2
feat(ocr-pipeline): add Step 5 word recognition (grid from columns × rows)
...
Backend: build_word_grid() intersects column regions with content rows,
OCRs each cell with language-specific Tesseract, and returns vocabulary
entries with percent-based bounding boxes. New endpoints: POST /words,
GET /image/words-overlay, ground-truth save/retrieve for words.
Frontend: StepWordRecognition with overview + step-through labeling modes,
goToStep callback for row correction feedback loop.
MkDocs: OCR Pipeline documentation added.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 02:18:29 +01:00
Benjamin Boenisch
2d2690887f
docs: update MkDocs index with full service table and architecture overview
...
- Add complete service table with containers, ports, and tech stack
- Add Core dependency table
- Add URLs section with Lehrer-Tools
- Add deployment and git instructions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 19:51:12 +01:00
Benjamin Boenisch
27f1899428
feat: Sync SDK modules, API routes, blog and docs from admin-v2
...
- DSB Portal, Industry Templates, Multi-Tenant, SSO frontend pages
- All SDK API proxy routes (academy, crawler, incidents, vendors, whistleblower, etc.)
- Blog section with compliance articles
- BYOEH system documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-13 21:12:30 +01:00
Benjamin Boenisch
e22019b2d5
Add CLAUDE.md, MkDocs docs, .claude/rules
...
- CLAUDE.md: Comprehensive documentation for Lehrer KI platform
- docs-src: Klausur, Voice, Agent-Core, KI-Pipeline docs
- mkdocs.yml: Lehrer-specific nav with blue theme
- docker-compose: Added docs service (port 8010, profile: docs)
- .claude/rules: testing, docs, open-source, abiturkorrektur, vocab-worksheet, multi-agent, experimental-dashboard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 00:49:25 +01:00