Spaces:
Sleeping
Sleeping
Commit History
-
Sprint 3: vertical slice — PaddleOCR adapter, normalization pipeline, ALTO serializer
ClaudeUnverified signatureFirst end-to-end flow: image provider output → CanonicalDocument → ALTO XML. Provider system skeleton: - BaseRuntime ABC (execute, is_available) - BaseAdapter ABC (family, version, normalize) - ProviderProfile model (runtime_type, family, capabilities, auth, timeouts) - CapabilityMatrix model (11 boolean capabilities) Normalization: - CanonicalBuilder: fluent builder pattern for constructing CanonicalDocuments (builder.add_page → page.add_text_region → region.add_line → line.add_word) - WordBoxJsonAdapter: converts PaddleOCR 4-point polygon format to canonical model with full provenance (native for words, inferred for block) - NormalizationPipeline: resolves adapter by family, runs normalization ALTO XML serializer (lxml): - Deterministic mapping: Page→Page, TextRegion→TextBlock, TextLine→TextLine, Word→String with HPOS/VPOS/WIDTH/HEIGHT/CONTENT/WC attributes - Hyphenation support (SUBS_TYPE, SUBS_CONTENT) - SP elements between words - Description with MeasurementUnit, fileNam…1cbec06