Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with CLI, REST API, and MCP server.
This report presents the forensic synthetic code analysis of xberg-io/xberg, a Rust project with 9,233 GitHub stars. SynthScan v2.0 examined 1,739,608 lines of code across 6175 source files, recording 8951 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 6.7 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 8951 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 161 | ] } | COMMENT |
| LOW | basemind.toml | 1 | # basemind configuration — https://github.com/Goldziher/basemind | COMMENT |
| LOW | basemind.toml | 21 | # max_file_bytes = 2097152 | COMMENT |
| LOW | basemind.toml | 41 | [mcp] | COMMENT |
| LOW | basemind.toml | 61 | # extract_archives = false | COMMENT |
| LOW | rustfmt.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| LOW | .alef-toml-merge-provenance.toml | 1 | # alef toml-merge provenance record -- COMMIT THIS FILE, do not add it to .gitignore. | COMMENT |
| LOW | .hadolint.yaml | 1 | # DL3008/DL3018: version-pinning apt/apk packages is intentionally not done — | COMMENT |
| LOW | Package.swift | 41 | // RustBridgeBinary so the linker picks up the static library symbols. | COMMENT |
| LOW | .alef-ownership.toml | 1 | # alef ownership record -- COMMIT THIS FILE, do not add it to .gitignore. | COMMENT |
| LOW | alef.toml | 161 | # outright (:463) -- together they add ZERO crates. `pdf` (:61) pulls only | COMMENT |
| LOW | alef.toml | 261 | cwd = "packages/kotlin-android" | COMMENT |
| LOW | alef.toml | 281 | # Swift snippet failed because `import Xberg` could not resolve. | COMMENT |
| LOW | alef.toml | 301 | manifest = "packages/zig/build.zig" | COMMENT |
| LOW | alef.toml | 841 | output = "packages/python/xberg/" | COMMENT |
| LOW | alef.toml | 1041 | # Publish only the `web` (ES module) target. Each wasm-pack target embeds a full | COMMENT |
| LOW | alef.toml | 1061 | # native-runtime`. chromiumoxide drives a real Chrome process over CDP; it | COMMENT |
| LOW | alef.toml | 1081 | # "heuristics": fixes the extraction_confidence half of #244. The blocker was | COMMENT |
| LOW | alef.toml | 1101 | # TableModel, TranscriptionConfig, WhisperModel are all crate-root exported, | COMMENT |
| LOW | alef.toml | 1201 | [crates.wasm.extra_dependencies] | COMMENT |
| LOW | alef.toml | 1221 | [crates.custom_modules] | COMMENT |
| LOW | alef.toml | 1241 | # passthrough set, so it must be listed here. | COMMENT |
| LOW | alef.toml | 1261 | extra_features = ["full-no-heic", "pdf-pdfium", "ocr-wasm", "candle-ocr"] | COMMENT |
| LOW | alef.toml | 2001 | default_features = false | COMMENT |
| LOW | alef.toml | 4501 | description = "Extract text, tables, images, metadata, and code intelligence from 106 file formats and 371 programming l | COMMENT |
| LOW | docs-site/public/demo.html | 381 | phase: (label) => { | COMMENT |
| LOW | docs-site/public/demo.html | 401 | const WASM_PKG = "@xberg-io/xberg-wasm"; | COMMENT |
| LOW | tools/ocr-measure/ab_line_filter.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/benchmark-harness/tests/baseline_validation.rs | 1 | //! Baseline validation tests for benchmark infrastructure | COMMENT |
| LOW | tools/benchmark-harness/tests/profiling_zero_cost.rs | 1 | //! Verification that the no-op profiling path is the one compiled in when `profiling` is off. | COMMENT |
| LOW | tools/benchmark-harness/tests/fixture_validation.rs | 1 | //! Comprehensive fixture validation integration tests | COMMENT |
| LOW | tools/benchmark-harness/scripts/bench_local.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/benchmark-harness/scripts/bench_local.sh | 21 | # FRAMEWORKS single-file frameworks (default: xberg baseline+layout, liteparse) | COMMENT |
| LOW | tools/benchmark-harness/src/system_load.rs | 1 | //! System-load capture for benchmark measurements. | COMMENT |
| LOW | tools/benchmark-harness/src/sizes.rs | 1 | //! Framework size measurement | COMMENT |
| LOW | tools/benchmark-harness/src/sizes.rs | 21 | /// Size in bytes (package + system deps + models combined) | COMMENT |
| LOW | tools/benchmark-harness/src/sizes.rs | 461 | } | COMMENT |
| LOW | tools/benchmark-harness/src/sizes.rs | 541 | fn measure_model_cache_size(dir: Option<&Path>) -> (u64, bool) { | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 41 | } | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 61 | pub first_parse_ms: f64, | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 81 | #[serde(rename = "baseline-paddle")] | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 221 | } | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 241 | /// - **ConfigSetupError**: environment/dependency misconfiguration (missing models, torch module not available, etc.) | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 261 | EmptyContent, | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 321 | COMMENT | |
| LOW | tools/benchmark-harness/src/types.rs | 341 | pub pdf_metadata: Option<PdfMetadata>, | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 381 | /// Whether a result's timing/resource measurements are valid to pool into performance | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 421 | /// Performance metrics collected during extraction | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 441 | /// over the resource sampler's timeline (see | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 481 | #[serde(default, skip_serializing_if = "Vec::is_empty")] | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 501 | pub reading_order_score: Option<f64>, | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 521 | COMMENT | |
| LOW | tools/benchmark-harness/src/types.rs | 601 | COMMENT | |
| LOW | tools/benchmark-harness/src/adapter.rs | 201 | SCEPTRE_LATIN_LANGUAGES, | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 261 | COMMENT | |
| LOW | tools/benchmark-harness/src/adapter.rs | 301 | /// * `Ok(BenchmarkResult)` - Successful extraction with metrics | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 381 | COMMENT | |
| LOW | tools/benchmark-harness/src/diagnostics.rs | 1 | //! Per-document diagnostic output for poor-scoring documents. | COMMENT |
| LOW | tools/benchmark-harness/src/monitoring.rs | 1 | //! Resource monitoring for benchmark execution | COMMENT |
| LOW | tools/benchmark-harness/src/monitoring.rs | 41 | } | COMMENT |
| 6796 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ates/xberg-candle-ocr/src/models/deepseek_ocr/model.rs | 1292 | config.vision_config.width.sam_vit_b.global_attn_indexes.clone(), | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 31 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = NoChunkingReasonDeserializer::class) | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 32 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = NoChunkingReasonSerializer::class) | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 35 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 42 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 43 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 49 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 50 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 56 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 57 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …n-android/src/main/kotlin/io/xberg/NoChunkingReason.kt | 84 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/ChunkingConfig.kt | 101 | @field:com.fasterxml.jackson.databind.annotation.JsonSerialize(`as` = ChunkSizing::class) | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 31 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = EmbeddingModelTypeDeserializer::class) | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 32 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = EmbeddingModelTypeSerializer::class) | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 35 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 41 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 42 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 53 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 54 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 79 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 80 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …android/src/main/kotlin/io/xberg/EmbeddingModelType.kt | 101 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/FormatMetadata.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = FormatMetadataDeserializer::class) | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/FormatMetadata.kt | 37 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = FormatMetadataSerializer::class) | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/FormatMetadata.kt | 127 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 31 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = AuthConfigDeserializer::class) | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 32 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = AuthConfigSerializer::class) | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 35 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 42 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 43 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 48 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 49 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …/kotlin-android/src/main/kotlin/io/xberg/AuthConfig.kt | 70 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 31 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = SparseEmbeddingModelTypeDeserializer::class) | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 32 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = SparseEmbeddingModelTypeSerializer::class) | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 35 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 41 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 42 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 50 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 51 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 71 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …n-android/src/main/kotlin/io/xberg/DocumentRevision.kt | 67 | @field:com.fasterxml.jackson.databind.annotation.JsonSerialize(`as` = RevisionAnchor::class) | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/EntityCategory.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = EntityCategoryDeserializer::class) | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/EntityCategory.kt | 37 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = EntityCategorySerializer::class) | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/EntityCategory.kt | 82 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/EntityCategory.kt | 96 | else -> throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/EntityCategory.kt | 103 | throw com.fasterxml.jackson.databind.exc.InvalidFormatException( | CODE |
| CRITICAL | …lin-android/src/main/kotlin/io/xberg/RerankerConfig.kt | 38 | @field:com.fasterxml.jackson.databind.annotation.JsonSerialize(`as` = RerankerModelType::class) | CODE |
| CRITICAL⚡ | …-android/src/main/kotlin/io/xberg/DocumentStructure.kt | 97 | private val VALUE_METHOD_MAPPER = com.fasterxml.jackson.module.kotlin.jacksonObjectMapper() | CODE |
| CRITICAL⚡ | …-android/src/main/kotlin/io/xberg/DocumentStructure.kt | 98 | .registerModule(com.fasterxml.jackson.datatype.jdk8.Jdk8Module()) | CODE |
| CRITICAL⚡ | …-android/src/main/kotlin/io/xberg/DocumentStructure.kt | 100 | com.fasterxml.jackson.module.kotlin.KotlinModule.Builder() | CODE |
| CRITICAL⚡ | …ndroid/src/main/kotlin/io/xberg/OcrBoundingGeometry.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = OcrBoundingGeometryDeserializer::class) | CODE |
| CRITICAL⚡ | …ndroid/src/main/kotlin/io/xberg/OcrBoundingGeometry.kt | 37 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = OcrBoundingGeometrySerializer::class) | CODE |
| CRITICAL⚡ | …ndroid/src/main/kotlin/io/xberg/OcrBoundingGeometry.kt | 40 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …ndroid/src/main/kotlin/io/xberg/OcrBoundingGeometry.kt | 41 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …ndroid/src/main/kotlin/io/xberg/OcrBoundingGeometry.kt | 54 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| 211 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs-site/src/snippets/python/ocr/cloud_ocr_backend.md | 28 | def supports_document_processing(self) -> bool: | CODE |
| LOW | docs-site/src/snippets/python/ocr/cloud_ocr_backend.md | 31 | def emits_structured_markdown(self) -> bool: | CODE |
| LOW | docs-site/src/content/docs/reference/api-ruby.md | 3937 | def supports_document_processing() | CODE |
| LOW | docs-site/src/content/docs/reference/api-ruby.md | 3960 | def emits_structured_markdown() | CODE |
| LOW | docs-site/src/content/docs/reference/api-ruby.md | 4011 | def page_orientation_handling() | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 226 | public static function registerDocumentExtractor(DocumentExtractor $extractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 261 | public static function unregisterDocumentExtractor(string $name): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 3937 | public function supportsDocumentProcessing(): bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-typescript.md | 226 | function registerDocumentExtractor(extractor: DocumentExtractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-typescript.md | 261 | function unregisterDocumentExtractor(name: string): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 252 | def clear_document_extractors() | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 3818 | def supports_document_processing(obj) | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 3841 | def emits_structured_markdown(obj) | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 3892 | def page_orientation_handling(obj) | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 244 | def clear_document_extractors() -> None | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 3793 | def supports_document_processing(self) -> bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 3816 | def emits_structured_markdown(self) -> bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 3867 | def page_orientation_handling(self) -> PageOrientationHandling | CODE |
| LOW | docs-site/src/content/docs/reference/api-wasm.md | 226 | function registerDocumentExtractor(extractor: DocumentExtractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-wasm.md | 261 | function unregisterDocumentExtractor(name: string): void | CODE |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 132 | def test_render_includes_text_nested_under_pictures(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 145 | def test_converter_configuration_fails_closed(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 161 | def test_batch_uses_jobkit_single_lazy_ordered_timed(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 198 | def test_batch_plaintext_renders_export_to_text(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 212 | def test_batch_renders_partial_success_content(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_mineru_extract.py | 26 | def test_native_batch_uses_one_do_parse_call_and_preserves_input_order(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_mineru_extract.py | 58 | def test_batch_reports_only_makespan_and_unavailable_item_timings(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_mineru_extract.py | 74 | def test_missing_native_output_fails_strict_cardinality(self) -> None: | CODE |
| LOW | tools/benchmark-harness/tests/test_mineru_extract.py | 101 | def test_unexpected_native_markdown_output_fails_strict_cardinality(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 57 | def test_digest_ignores_non_reference_documents(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 79 | def test_digest_changes_with_reference_content(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 91 | def test_verify_cache_rejects_extra_and_mismatched_files(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 120 | def test_manifest_rejects_duplicate_reference_ids(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 129 | def test_verify_archive_rejects_extra_and_link_members(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 168 | def test_verify_archive_rejects_unsafe_incomplete_or_corrupt_payloads(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 216 | def test_legacy_appledouble_compatibility_is_narrow_and_does_not_extract(self) -> None: | CODE |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 318 | def test_atomic_swap_exchanges_complete_cache_trees(self) -> None: | CODE |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 51 | def deduplicate_fixture_paths(fixture_paths: list[Path]) -> list[Path]: | CODE |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 76 | def validate_unique_fixture_names(fixture_paths: list[Path]) -> None: | CODE |
| LOW | tools/benchmark-harness/scripts/bench_local_profiles.sh | 311 | def reject_special_worktree_files(repository: pathlib.Path, submodules: set[pathlib.Path]) -> None: | CODE |
| LOW | …rk-harness/scripts/test_generate_vendored_baselines.py | 21 | def test_load_ocr_fixture_paths_includes_image_cohort(self): | CODE |
| LOW | …rk-harness/scripts/test_generate_vendored_baselines.py | 45 | def test_load_ocr_fixture_paths_filters_exact_category_in_filename_order(self): | CODE |
| LOW | …rk-harness/scripts/test_generate_vendored_baselines.py | 67 | def test_default_fixture_selection_deduplicates_preserving_order(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 86 | def test_parse_args_requires_pipeline_and_preserves_options(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 96 | def test_resolve_document_path_uses_fixture_directory(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 103 | def test_backend_ocr_language_maps_fixture_codes_per_backend(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 117 | def test_backend_ocr_language_defaults_missing_metadata_to_english(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 121 | def test_backend_ocr_language_rejects_unsupported_nonempty_code(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 127 | def test_validate_unique_fixture_names_rejects_output_collisions(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 133 | def test_document_to_images_loads_all_tiff_frames_as_rgb(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 146 | def test_rapidocr_lines_supports_current_output(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 151 | def test_rapidocr_lines_supports_legacy_output(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 156 | def test_run_paddleocr_python_passes_fixture_language_to_constructor(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 168 | def test_create_rapidocr_passes_language_to_current_constructor(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 177 | def test_create_rapidocr_rejects_legacy_only_environment(self): | CODE |
| LOW⚡ | …rk-harness/scripts/test_generate_vendored_baselines.py | 187 | def test_main_exits_with_failure_for_unsupported_fixture_language(self): | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 298 | def _terminate_lingering_group_processes() -> None: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 89 | def _tesseract_to_paddle_lang(ocr_language: str | None) -> str: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 106 | def _native_pipeline_markdown( | CODE |
| LOW | …/benchmark-harness/scripts/build_structural_sidecar.py | 252 | def _bind_captions_and_footnotes(nodes: list[dict]) -> None: | CODE |
| 631 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ocr-measure/score_gt_lines.py | 26 | CODE | |
| LOW | tools/benchmark-harness/tests/test_docling_extract.py | 8 | CODE | |
| LOW | tools/benchmark-harness/tests/test_mineru_extract.py | 4 | CODE | |
| LOW | tools/benchmark-harness/scripts/normalize_gt.py | 16 | CODE | |
| LOW | tools/benchmark-harness/scripts/gt_eval.py | 30 | CODE | |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 3 | CODE | |
| LOW | tools/benchmark-harness/scripts/build_corpus.py | 27 | CODE | |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 14 | CODE | |
| LOW | …/benchmark-harness/scripts/build_structural_sidecar.py | 40 | CODE | |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 9 | CODE | |
| LOW | tools/benchmark-harness/scripts/generate_markdown_gt.py | 24 | CODE | |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 4 | CODE | |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 3 | CODE | |
| LOW | tools/generate_test_fixtures/tests/test_generation.py | 7 | CODE | |
| LOW | …xtures/src/generate_test_fixtures/security_fixtures.py | 22 | CODE | |
| LOW | …_fixtures/src/generate_test_fixtures/xlsx_revisions.py | 15 | CODE | |
| LOW | …_test_fixtures/src/generate_test_fixtures/gt_schema.py | 14 | CODE | |
| LOW | …t_fixtures/src/generate_test_fixtures/odt_revisions.py | 17 | CODE | |
| LOW | …test_fixtures/src/generate_test_fixtures/diff_pairs.py | 20 | CODE | |
| LOW | …fixtures/src/generate_test_fixtures/pdf_incremental.py | 28 | CODE | |
| LOW | …_fixtures/src/generate_test_fixtures/docx_revisions.py | 15 | CODE | |
| LOW | …t_fixtures/src/generate_test_fixtures/pptx_comments.py | 16 | CODE | |
| LOW | …e_test_fixtures/src/generate_test_fixtures/__main__.py | 8 | CODE | |
| LOW | tools/perf/extract_top_symbols.py | 17 | CODE | |
| LOW | plugin/.hermes/plugins/xberg/__init__.py | 8 | CODE | |
| LOW | plugin/.hermes/plugins/xberg/__init__.py | 9 | CODE | |
| LOW | …in/.hermes/package/src/xberg_hermes_plugin/__init__.py | 8 | CODE | |
| LOW | …in/.hermes/package/src/xberg_hermes_plugin/__init__.py | 9 | CODE | |
| LOW | …parser-xberg/llama_index/node_parser/xberg/__init__.py | 3 | CODE | |
| LOW | …ex-readers-xberg/llama_index/readers/xberg/__init__.py | 3 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | …ndex-readers-xberg/llama_index/readers/xberg/_utils.py | 24 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 3 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 3 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 4 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 5 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 5 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 5 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 6 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 7 | CODE | |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 7 | CODE | |
| LOW | integrations/python/langchain/tests/conftest.py | 11 | CODE | |
| LOW | …tions/python/langchain/src/langchain_xberg/__init__.py | 3 | CODE | |
| LOW | …rations/python/langchain/src/langchain_xberg/loader.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 3 | CODE | |
| LOW | integrations/python/txtai/src/txtai_xberg/pipeline.py | 3 | CODE | |
| LOW | scripts/sync_supported_counts.py | 4 | CODE | |
| 501 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | alef.toml | 375 | # tools/benchmark-harness/src/bench_matrix.rs (*_MANIFEST_BLAKE3) and verified | COMMENT |
| MEDIUM | alef.toml | 1204 | # Test harness for the in-crate #[wasm_bindgen_test] suites in src/engine.rs; | COMMENT |
| MEDIUM | tools/ocr-measure/ab_line_filter.sh | 83 | # A leg that produced nothing must fail the command. The first run of this harness | COMMENT |
| MEDIUM | tools/benchmark-harness/Cargo.toml | 40 | # default-on feature would break `cargo build -p benchmark-harness` there. Selecting | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/bench_local.sh | 20 | # OUT output root; profile label is always appended (default: tools/benchmark-harness/results/local) | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/bench_local.sh | 32 | # HARNESS benchmark-harness executable (default: ./target/release/benchmark-harness) | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/build_corpus.py | 912 | # `materialize` is on-demand (harness pre-run step), not part of `all`. ~keep | STRING |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 431 | # Reap MinerU's orphaned render pool before emitting, so the harness sees stdout EOF. | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 441 | # Reap MinerU's orphaned render pool before emitting, so the harness sees stdout EOF. | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 40 | # restricted runner it hangs the full harness timeout. The bench workflow avoids the | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 321 | # Only reap by process-group when we OWN the group. The benchmark harness | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 327 | # harness (which reads our stdout to EOF), so when we are not the group | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/docling_extract.py | 126 | # harness OCR flag; ``abort_on_error`` stays False so one bad document does not sink the batch. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 438 | #[command(name = "benchmark-harness")] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 439 | #[command(about = "Benchmark harness for document extraction frameworks", long_about = None)] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 730 | #[arg(short, long, default_value = "tools/benchmark-harness/fixtures/split")] | COMMENT |
| MEDIUM | crates/xberg-pdfium-render/src/bindgen/pdfium_7678.rs | 1518 | #[doc = " Experimental API.\n Function: FPDF_GetXFAPacketContent\n Get the content of a packet in the XFA a | COMMENT |
| MEDIUM | crates/xberg/Cargo.toml | 49 | # in tools/benchmark-harness, which owns its own `profiling`/`pprof` pair; | COMMENT |
| MEDIUM | crates/xberg/tests/ocr_errors.rs | 3 | //! This module tests OCR error scenarios to ensure robust error handling: | COMMENT |
| MEDIUM | crates/xberg/tests/typst_behavioral_tests.rs | 895 | /// Even if a heading has no text, extraction should be robust. | COMMENT |
| MEDIUM | crates/xberg/src/embeddings/engine.rs | 223 | /// robust to either left- or right-padding. A row whose mask is entirely zero | COMMENT |
| MEDIUM | crates/xberg/src/embeddings/engine.rs | 478 | /// last_pool picks the final non-pad token per row, robust to right- and | COMMENT |
| MEDIUM | crates/xberg/src/plugins/registry/mod.rs | 165 | /// `PostProcessorRegistryGuard` cycle). A by-name check is more robust than an | COMMENT |
| MEDIUM | crates/xberg/src/pdf/render.rs | 382 | /// producing a usable raster for OCR/VLM (which are robust to moderate downscaling). | COMMENT |
| MEDIUM | crates/xberg/src/pdf/native/text.rs | 1006 | /// returns their median split point, robust to the rare line whose own gap | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/constants.rs | 27 | /// jitter amplitudes ≥ 3 pt while being robust against false positives: | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/adapters.rs | 385 | /// Rotation-robust line-height proxy for a 4-point OCR quadrilateral, in raster | COMMENT |
| MEDIUM | …s/xberg/src/pdf/structure/regions/table_recognition.rs | 1529 | /// paragraphs are never swallowed. Alignment is robust for dense many-column | COMMENT |
| MEDIUM | crates/xberg/src/reranking/mod.rs | 332 | /// robust to how different tokenizers encode a leading word. | COMMENT |
| MEDIUM | …erg-native-pdf/tests/test_word_boundary_integration.rs | 387 | /// When TJ offset AND geometric gap both indicate boundary, detection should be robust. | COMMENT |
| MEDIUM | …ates/xberg-native-pdf/tests/test_adaptive_threshold.rs | 199 | /// Expected: median should be 0.3 (robust to outlier) | COMMENT |
| MEDIUM | …ates/xberg-native-pdf/tests/test_adaptive_threshold.rs | 573 | /// Adaptive threshold should use median to be robust to these outliers. | COMMENT |
| MEDIUM | …erg-native-pdf/tests/test_inline_image_agl_fallback.rs | 5 | //! A robust ToUnicode + embedded-TrueType `cmap` + Adobe Glyph List + | COMMENT |
| MEDIUM | …f/tests/test_transparency_flattening_smask_knockout.rs | 277 | // defensive coverage is "the renderer is robust to broken input." | COMMENT |
| MEDIUM | …f/tests/test_transparency_flattening_smask_knockout.rs | 462 | // For the renderer at HEAD, the simplest robust assertion is | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/parser.rs | 369 | // This heuristic makes parsing more robust at the cost of spec compliance. | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/outline.rs | 340 | // Malformed Limits → search the kid anyway (robust). ~keep | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/pipeline/ordered_span.rs | 21 | /// Confidence: 0.90 (robust for multi-column layouts). | COMMENT |
| MEDIUM | …erg-native-pdf/src/pipeline/reading_order/geometric.rs | 114 | // This is more robust than median for documents with varying layouts ~keep | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/pipeline/reading_order/xycut.rs | 1360 | // Using a cluster fraction (not raw spread) is robust to rows | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/layout/text_block.rs | 21 | /// - More robust for complex layouts | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/layout/region_classifier.rs | 146 | // TABLE: short content per line. This is the robust grid signal — a prose or | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/rendering/page_renderer.rs | 9184 | // robust against off-page axis endpoints. ~keep | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/rendering/page_renderer.rs | 9190 | // diagonal margin keeps the test robust. ~keep | COMMENT |
| MEDIUM | …/xberg-native-pdf/src/rendering/separation_renderer.rs | 845 | /// best-effort behaviour and keeps separation rendering robust on PDFs | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 147 | /// - Some(true): Definitely create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 148 | /// - Some(false): Definitely do NOT create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 242 | /// - Some(true): Definitely create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 243 | /// - Some(false): Definitely do NOT create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 312 | /// - Some(true): Definitely create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 313 | /// - Some(false): Definitely do NOT create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 368 | /// - Some(true): Definitely create a boundary | COMMENT |
| MEDIUM | …s/xberg-native-pdf/src/text/complex_script_detector.rs | 369 | /// - Some(false): Definitely do NOT create a boundary | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/text/script_detector.rs | 361 | /// - Allow seamless Hiragana↔Katakana transitions | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/text/script_detector.rs | 392 | /// - Allow seamless Hangul↔Hanja transitions | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/text/rtl_detector.rs | 249 | /// - Some(true): Definitely create a boundary | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/text/rtl_detector.rs | 250 | /// - Some(false): Definitely do NOT create a boundary | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/fonts/cmap.rs | 839 | /// scan is robust to either ordering. | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/fonts/font_dict.rs | 8959 | // A robust ToUnicode + embedded-cmap + AGL fallback chain lives in | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/extractors/paths.rs | 213 | /// No-op if the stack is empty — keeps extraction robust against PDFs | COMMENT |
| 22 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rustfmt.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | poly.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-wasm/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-php/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-ffi/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-ffi/cbindgen.toml | 1 | # This file is auto-generated by alef. DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-node/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | crates/xberg-py/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | .cargo/config.toml | 1 | # This file is auto-generated by alef. DO NOT EDIT. | COMMENT |
| MEDIUM | packages/python/pyproject.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/python/xberg/options.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/python/xberg/__init__.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/python/xberg/api.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/python/xberg/exceptions.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/elixir/native/xberg_nif/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/dart/rust/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/dart/rust/flutter_rust_bridge.yaml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/.rubocop.yml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/ext/xberg_rb/native/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/ext/xberg_rb/native/extconf.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/version.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/conftest.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/pyproject.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_registry.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_format_specific.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_post_processor_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_code.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_smoke.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_reranker_backend_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_summarization.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_contract.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_error.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_ocr_backend_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_plugin_api.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_tokenizer_backend_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_url.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_extract.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_batch.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_validator_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_renderer_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/python/tests/test_embedding_backend_management.py | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/rust/Cargo.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/rust/.cargo/config.toml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/wasm/pnpm-workspace.yaml | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/error_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/batch_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/spec_helper.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/validator_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/summarization_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/code_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/url_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/renderer_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/plugin_api_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/registry_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/contract_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/post_processor_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/reranker_backend_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/tokenizer_backend_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| 5 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/benchmark-harness/cohorts/native-email-fast.json | 11 | "msg/fake-email.json", | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 27 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 27 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 33 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 33 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 65 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 65 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 71 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …-harness/vendored/docling/md/picture_classification.md | 71 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …hmark-harness/vendored/docling/md/word365_structure.md | 3 | Lorem ipsum dolor | CODE |
| LOW⚡ | …hmark-harness/vendored/docling/md/word365_structure.md | 9 | Lorem ipsum dolor sit amet | CODE |
| LOW⚡ | …hmark-harness/vendored/docling/md/word365_structure.md | 9 | Lorem ipsum dolor sit amet | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 3 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 5 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 5 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 13 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 13 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 15 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 15 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 19 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 19 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 21 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 21 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 25 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 25 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 27 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 27 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 29 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW⚡ | …chmark-harness/vendored/docling/md/code_and_formula.md | 29 | Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nul | CODE |
| LOW | …ls/benchmark-harness/vendored/docling/md/pdf_tables.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW | …ls/benchmark-harness/vendored/docling/md/pdf_tables.md | 3 | Lorem ipsum dolor sit amet, consectetur adipiscing elit | CODE |
| LOW | …ols/benchmark-harness/vendored/docling/md/issue-905.md | 5 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus facilisis odio sed mi. Curabitur suscipit. Nullam ve | CODE |
| LOW | …ols/benchmark-harness/vendored/docling/md/issue-905.md | 5 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus facilisis odio sed mi. Curabitur suscipit. Nullam ve | CODE |
| LOW | …benchmark-harness/vendored/docling/md/pdf_structure.md | 3 | Contenu 1, contenu 2, contenu 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididu | CODE |
| LOW | …benchmark-harness/vendored/docling/md/pdf_structure.md | 3 | Contenu 1, contenu 2, contenu 3. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididu | CODE |
| LOW | …benchmark-harness/vendored/docling/md/pdf_structure.md | 14 | 3. Longue énumération : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lab | CODE |
| LOW | …benchmark-harness/vendored/docling/md/pdf_structure.md | 14 | 3. Longue énumération : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lab | CODE |
| LOW | tools/benchmark-harness/src/bench_matrix.rs | 364 | "msg/fake-email.json", | CODE |
| LOW | tools/benchmark-harness/src/bench_matrix.rs | 372 | "fake-email", | CODE |
| LOW | crates/xberg/tests/jupyter_extractor_tests.rs | 42 | /// - Lorem ipsum heading with bold formatting | COMMENT |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 76 | extraction.content.contains("Lorem ipsum"), | CODE |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 77 | "Should extract markdown cell 'Lorem ipsum'" | CODE |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 80 | extraction.content.contains("Lorem ipsum"), | CODE |
| LOW | …xberg/tests/issue_64_pdf_form_field_values_rendered.rs | 220 | let count = result.content.matches("Jane Doe").count(); | CODE |
| LOW | …xberg/tests/issue_64_pdf_form_field_values_rendered.rs | 223 | "flattened Widget value 'Jane Doe' must appear exactly once in Markdown output, not \ | CODE |
| LOW | crates/xberg/tests/latex_extractor_tests.rs | 92 | Some("John Doe"), | CODE |
| LOW | crates/xberg/tests/latex_extractor_tests.rs | 93 | "FAIL: Should extract author 'John Doe' from \\author{{}} command" | CODE |
| LOW | crates/xberg/tests/structured_pipeline.rs | 117 | r#"{"invoice_number":"INV-001","vendor":"Acme Corp","total":"$42.00"}"#, | CODE |
| LOW | crates/xberg/tests/structured_pipeline.rs | 132 | assert_eq!(structured_output["vendor"].as_str(), Some("Acme Corp")); | CODE |
| LOW | crates/xberg/tests/rtf_extractor_tests.rs | 711 | result.content.to_lowercase().contains("lorem ipsum"), | CODE |
| LOW | crates/xberg/tests/rtf_extractor_tests.rs | 712 | "Content should contain lorem ipsum text" | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 253 | let count = content.matches("Jane Doe").count(); | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 256 | "flattened Widget value 'Jane Doe' must appear exactly once, not duplicated; got: {content:?}" | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 265 | /// `test_documents/ground_truth/pdf/flattened_form.fields.json` expects "Jane Doe". | COMMENT |
| LOW | crates/xberg/tests/pdf_form_fields.rs | 278 | result.content.contains("Jane Doe"), | CODE |
| LOW | crates/xberg/tests/pdf_form_fields.rs | 279 | "content-stream text 'Jane Doe' missing; got {:?}", | CODE |
| LOW | crates/xberg/tests/opml_extractor_tests.rs | 153 | Some("Jane Doe"), | CODE |
| LOW | crates/xberg/tests/markdown_extractor_tests.rs | 49 | assert_eq!(result.metadata.created_by.as_deref(), Some("John Doe")); | CODE |
| LOW⚡ | crates/xberg/tests/bibtex_parity_test.rs | 170 | ("author = {John Doe}", vec!["John Doe"]), | CODE |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Taskfile.yml | 3 | # ============================================================================ | COMMENT |
| MEDIUM | Taskfile.yml | 4 | # ============================================================================ | COMMENT |
| MEDIUM | docs-site/public/demo.html | 370 | // ── Structured logger ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 390 | // ── Resolve the latest published WASM release ────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 406 | // ── Upload size limit ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 483 | // ── Drag & Drop ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 527 | // ── Markdown Renderer ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 599 | // ── JSON Syntax Highlighter ──────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 615 | // ── Extraction via Web Worker ────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 722 | // ── Process File ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 819 | // ── Reset ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 835 | // ── Extract it anyway ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 849 | // ── Copy ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 872 | // ── Tab Switcher ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 51 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 53 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 181 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 183 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 283 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 285 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 447 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 449 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 512 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 514 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 567 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/rotated_text_repair.rs | 569 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/pdf_markdown_regression.rs | 114 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/pdf_markdown_regression.rs | 125 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/pdf_markdown_regression.rs | 289 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/tests/pdf_markdown_regression.rs | 318 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/constants.rs | 3 | // ~keep ── Glyph-fragmentation repair (issue #962) ──────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/constants.rs | 3 | // ~keep ── Glyph-fragmentation repair (issue #962) ──────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/page_number.rs | 38 | // ── Band geometry ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/page_number.rs | 76 | // ── Shape classification ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/page_number.rs | 331 | // ── Roman numerals ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/page_number.rs | 430 | // ── Cross-page sequence evidence ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ates/xberg-native-pdf/tests/test_page_image_handles.rs | 265 | // ── Test B: N images → paint_order is [0, 1, 2] ────────────────────────────── ~keep | COMMENT |
| MEDIUM | crates/xberg-native-pdf/tests/test_path_extraction.rs | 169 | // ─── Optional Content Group (PDF "layer") tagging ───────────────── | COMMENT |
| MEDIUM | …s/xberg-native-pdf/tests/test_render_region_and_fit.rs | 55 | // ── Fit-box DPI rounding regressions ──────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/content/parser.rs | 2450 | // ── Nom-based operand skippers (test-only, superseded by raw variants) ───── ~keep | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/content/parser.rs | 2670 | // ── Byte-level graphics region scanner ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/content/parser.rs | 2804 | // ── Raw index-returning skip functions ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/content/parser.rs | 2954 | // ── Fast BT/ET block parser ──────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/extractors/auto.rs | 437 | // ───────────────────────── classifier (T2/T2.5/T3) ───────────────────────── | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/extractors/auto.rs | 747 | // ─────────────────────────── AutoExtractor (T4–T8) ───────────────────────── | COMMENT |
| MEDIUM | .task/tools/demo.yml | 3 | # ============================================================================ | COMMENT |
| MEDIUM | .task/tools/fixtures.yml | 3 | # ============================================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | basemind.toml | 46 | # Document RAG tier (PDF / Office / HTML / email / images). Requires a `documents` build. | COMMENT |
| MEDIUM | poly.toml | 648 | # scaffolding step drops these on every regen -- restore them if a regen diff | COMMENT |
| MEDIUM | tools/ocr-measure/score_gt_lines.py | 39 | # Markdown scaffolding the extractor adds that the plain-text ground truth never contains. | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/gt_eval.py | 207 | # equation/citation number glyphs), while its only real win (prose hallucination like pdfa_019) | COMMENT |
| MEDIUM | tools/benchmark-harness/src/groups.rs | 47 | /// `guardrails.json` only after fresh fixed outputs have been measured. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/fixture.rs | 220 | /// are pinned by `guardrails.json`. What must never happen is `file_type` naming a | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 615 | /// Enable quality guardrails (fail on regressions) | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 619 | /// Path to guardrails JSON config file (used when --guardrails is set) | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 620 | #[arg(long, default_value = "guardrails.json")] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 737 | /// Write a split-boundary-guardrails.json to this path (from default-threshold results) | COMMENT |
| MEDIUM | tools/benchmark-harness/src/split_benchmark.rs | 81 | /// If set, write a `split-boundary-guardrails.json` at this path from the | COMMENT |
| MEDIUM | tools/benchmark-harness/src/split_benchmark.rs | 135 | /// `split-boundary-guardrails.json` schema (mirrors `guardrails.json`). | COMMENT |
| MEDIUM | tools/benchmark-harness/src/split_benchmark.rs | 395 | /// Write a `split-boundary-guardrails.json` from default-threshold results. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 2 | //! compare quality (SF1, TF1) against ground truth with optional guardrails. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 28 | //! When `guardrails` is enabled, the comparison enforces per-document minimum | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 365 | /// Path to a JSON guardrails file. When `guardrails` is true this file | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1598 | /// Data-driven guardrails configuration loaded from JSON. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1634 | /// Load a guardrails configuration from a JSON file. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1737 | /// Check guardrails from a loaded config, returning a list of failure messages (empty = all passed). | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1857 | /// Run comparison with guardrails and return exit code (0 = pass, 1 = fail). | COMMENT |
| MEDIUM | crates/xberg-cli/README.md | 590 | # Download only the fast embedding model | COMMENT |
| MEDIUM | crates/xberg/Cargo.toml | 565 | ner-llm = ["ner", "liter-llm"] # LLM-driven zero-shot NER (no ORT). | CODE |
| MEDIUM | crates/xberg/tests/generated_fixtures.rs | 1 | //! Integration scaffold for the generated fixture corpus produced by | COMMENT |
| MEDIUM | crates/xberg/tests/gpu_acceleration.rs | 294 | #[ignore = "gpu: requires CUDA + ONNX Runtime CUDA EP + embedding model"] | COMMENT |
| MEDIUM | crates/xberg/tests/gpu_acceleration.rs | 322 | #[ignore = "gpu: requires CUDA + ONNX Runtime CUDA EP + embedding model"] | COMMENT |
| MEDIUM | crates/xberg/src/core/pipeline/features.rs | 1550 | /// Regression test for #258: `chunker_type='semantic'` without an embedding model | COMMENT |
| MEDIUM | crates/xberg/src/core/config/llm.rs | 152 | /// Provider-specific extra parameters merged into the request body (guardrails, | COMMENT |
| MEDIUM | …berg-native-pdf/tests/test_reading_order_glyph_sort.rs | 23 | //! These tests assert the guardrails the sort comparator must hold: | COMMENT |
| MEDIUM | crates/xberg-native-pdf/src/fonts/cmap_injector.rs | 497 | // own (no required tables) but a usable test scaffold for the | COMMENT |
| MEDIUM | …n/.cursor-plugin/skills/xberg/references/python-api.md | 275 | def llm(llm) -> EmbeddingModelType # an LLM-backed embedding model | CODE |
| MEDIUM | plugin/.ai-rulez/skills/xberg/references/python-api.md | 268 | def llm(llm) -> EmbeddingModelType # an LLM-backed embedding model | CODE |
| MEDIUM | plugin/skills/xberg/references/python-api.md | 275 | def llm(llm) -> EmbeddingModelType # an LLM-backed embedding model | CODE |
| MEDIUM | …es/plugins/xberg/skills/xberg/references/python-api.md | 275 | def llm(llm) -> EmbeddingModelType # an LLM-backed embedding model | CODE |
| MEDIUM | …rg_hermes_plugin/skills/xberg/references/python-api.md | 275 | def llm(llm) -> EmbeddingModelType # an LLM-backed embedding model | CODE |
| MEDIUM | .cargo/config.toml | 3 | # Re-generate with: alef scaffold | COMMENT |
| MEDIUM | .ai-rulez/skills/chunking-embeddings/SKILL.md | 46 | ### Presets set chunk size AND the embedding model | COMMENT |
| MEDIUM | packages/go/binding.go | 9189 | // Provider-specific extra parameters merged into the request body (guardrails, | COMMENT |
| MEDIUM | packages/dart/test/xberg_test.dart | 10 | // the generated API. Create-only scaffold seed. ~keep | COMMENT |
| MEDIUM | packages/dart/rust/src/lib.rs | 1145 | /// Provider-specific extra parameters merged into the request body (guardrails, | COMMENT |
| MEDIUM | packages/dart/lib/src/xberg_bridge_generated/lib.dart | 10974 | /// Provider-specific extra parameters merged into the request body (guardrails, | COMMENT |
| MEDIUM | packages/swift/Tests/XbergTests/XbergTests.swift | 9 | /// nothing about the generated API. Create-only scaffold seed. ~keep | COMMENT |
| MEDIUM | packages/csharp/src/Xberg/LlmConfig.cs | 185 | /// (guardrails, safety settings, grounding config, etc.), applied to | COMMENT |
| MEDIUM | packages/ruby/spec/xberg_spec.rb | 12 | # value passed in. It proves nothing beyond field storage. Create-only scaffold seed: | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 1230 | ## Provider-hosted embedding model via liter-llm. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 1277 | ## context window via `max_characters` directly. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 5123 | # Sparse-embedding model types supported by Xberg. | COMMENT |
| MEDIUM | templates/readme/cli.md | 585 | # Download only the fast embedding model | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …te/src/snippets/python/utils/error_handling_extract.md | 18 | print(f"Error: {error_type}: {message}") | CODE |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 280 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 51 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 56 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 78 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 93 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 96 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 123 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 157 | print("Error: sync mode requires a file path", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 163 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 164 | print(f"Error extracting with PyMuPDF4LLM: {e}", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 170 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 171 | print(f"Error extracting with PyMuPDF4LLM: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 423 | print("Error: sync mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 437 | print("Error: batch mode requires at least one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 446 | print(f"Error: Unknown mode '{mode}'. Use sync, batch, or server", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 450 | print(f"Error extracting with MinerU: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 403 | print(f"Error: --format must be 'markdown' or 'plaintext'; got '{output_format}'", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 291 | except Exception: | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 294 | except Exception as e: | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 449 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 249 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 254 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 276 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 377 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 204 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 209 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 231 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 246 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 249 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 276 | except Exception as e: | CODE |
| MEDIUM | tools/benchmark-harness/scripts/docling_extract.py | 315 | print(f"Error: --format must be 'markdown' or 'plaintext'; got '{output_format}'", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 336 | print("Error: sync mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 344 | print("Error: batch mode requires at least one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 352 | print(f"Error: Unknown mode '{mode}'. Use sync, batch, or server", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/docling_extract.py | 355 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 356 | print(f"Error extracting with Docling: {e}", file=sys.stderr) | CODE |
| LOW | tools/benchmark-harness/scripts/generate_markdown_gt.py | 230 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 65 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 70 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 92 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 107 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 110 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 137 | except Exception as e: | CODE |
| MEDIUM | tools/benchmark-harness/scripts/unstructured_extract.py | 163 | print(f"Error: Unstructured supports only native plaintext output; got '{output_format}'", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/unstructured_extract.py | 180 | print("Error: sync mode requires a file path", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/unstructured_extract.py | 185 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/unstructured_extract.py | 186 | print(f"Error extracting with Unstructured: {e}", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/unstructured_extract.py | 192 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/unstructured_extract.py | 193 | print(f"Error extracting with Unstructured: {e}", file=sys.stderr) | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 48 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 53 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 75 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 90 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 93 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 120 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/markitdown_extract.py | 154 | print("Error: sync mode requires a file path", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/markitdown_extract.py | 160 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/markitdown_extract.py | 161 | print(f"Error extracting with MarkItDown: {e}", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/markitdown_extract.py | 167 | except Exception as e: | CODE |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 0 | get peak memory usage in bytes using resource module. | STRING |
| HIGH | tools/benchmark-harness/scripts/mineru_extract.py | 0 | get peak memory usage in bytes using resource module. | STRING |
| HIGH | tools/benchmark-harness/scripts/docling_extract.py | 0 | get peak memory usage in bytes using resource module. | STRING |
| HIGH | tools/benchmark-harness/scripts/unstructured_extract.py | 0 | get peak memory usage in bytes using resource module. | STRING |
| HIGH | tools/benchmark-harness/scripts/markitdown_extract.py | 0 | get peak memory usage in bytes using resource module. | STRING |
| HIGH | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 0 | run extraction in a forked child process. closes inherited stdin/stdout so the child cannot corrupt the parent's line-ba | STRING |
| HIGH | tools/benchmark-harness/scripts/mineru_extract.py | 0 | run extraction in a forked child process. closes inherited stdin/stdout so the child cannot corrupt the parent's line-ba | STRING |
| HIGH | tools/benchmark-harness/scripts/docling_extract.py | 0 | run extraction in a forked child process. closes inherited stdin/stdout so the child cannot corrupt the parent's line-ba | STRING |
| HIGH | tools/benchmark-harness/scripts/unstructured_extract.py | 0 | run extraction in a forked child process. closes inherited stdin/stdout so the child cannot corrupt the parent's line-ba | STRING |
| HIGH | tools/benchmark-harness/scripts/markitdown_extract.py | 0 | run extraction in a forked child process. closes inherited stdin/stdout so the child cannot corrupt the parent's line-ba | STRING |
| HIGH | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 0 | execute fn(*args) in a forked child with a timeout. on timeout the child is killed but the parent stays alive — no expen | STRING |
| HIGH | tools/benchmark-harness/scripts/mineru_extract.py | 0 | execute fn(*args) in a forked child with a timeout. on timeout the child is killed but the parent stays alive — no expen | STRING |
| HIGH | tools/benchmark-harness/scripts/docling_extract.py | 0 | execute fn(*args) in a forked child with a timeout. on timeout the child is killed but the parent stays alive — no expen | STRING |
| HIGH | tools/benchmark-harness/scripts/unstructured_extract.py | 0 | execute fn(*args) in a forked child with a timeout. on timeout the child is killed but the parent stays alive — no expen | STRING |
| HIGH | tools/benchmark-harness/scripts/markitdown_extract.py | 0 | execute fn(*args) in a forked child with a timeout. on timeout the child is killed but the parent stays alive — no expen | STRING |
| HIGH | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 0 | parse a request line: json object with path field, or plain file path. | STRING |
| HIGH | tools/benchmark-harness/scripts/mineru_extract.py | 0 | parse a request line: json object with path field, or plain file path. | STRING |
| HIGH | tools/benchmark-harness/scripts/docling_extract.py | 0 | parse a request line: json object with path field, or plain file path. | STRING |
| HIGH | tools/benchmark-harness/scripts/unstructured_extract.py | 0 | parse a request line: json object with path field, or plain file path. | STRING |
| HIGH | tools/benchmark-harness/scripts/markitdown_extract.py | 0 | parse a request line: json object with path field, or plain file path. | STRING |
| HIGH | tools/benchmark-harness/scripts/mineru_extract.py | 0 | persistent server mode: read paths from stdin, write json to stdout. | STRING |
| HIGH | tools/benchmark-harness/scripts/docling_extract.py | 0 | persistent server mode: read paths from stdin, write json to stdout. | STRING |
| HIGH | tools/benchmark-harness/scripts/unstructured_extract.py | 0 | persistent server mode: read paths from stdin, write json to stdout. | STRING |
| HIGH | tools/benchmark-harness/scripts/markitdown_extract.py | 0 | persistent server mode: read paths from stdin, write json to stdout. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ls/benchmark-harness/vendored/docling/md/nougat_034.md | 163 | Most beneficial owners holding stock in 'street name' will receive instructions for voting their shares from their broke | CODE |
| HIGH | tools/benchmark-harness/vendored/docling/md/pdfa_009.md | 163 | Most beneficial owners holding stock in 'street name' will receive instructions for voting their shares from their broke | CODE |
| HIGH | crates/xberg/src/llm/vlm_ocr.rs | 600 | /// Regression test for issue #188: inline math `$...$`, as requested by | COMMENT |
| HIGH | crates/xberg/src/llm/vlm_ocr.rs | 600 | /// Regression test for issue #188: inline math `$...$`, as requested by | COMMENT |
| HIGH | .github/workflows/publish.yaml | 4509 | # --- Coding-agent plugin (lives in plugin/, generated by ai-rulez; see plugin/README.md) --- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …grations/python/surrealdb/src/surrealdb_xberg/_base.py | 217 | Unwrap the single document from an ``ExtractionResult`` container. Args: result: The container returned by | STRING |
| HIGH | …tions/python/surrealdb/src/surrealdb_xberg/pipeline.py | 260 | Embed a query string using xberg's extraction pipeline. Args: query: The text to embed. Re | STRING |
| HIGH | integrations/python/txtai/src/txtai_xberg/pipeline.py | 107 | Extract text and metadata from one or more documents (synchronous). Bridges Xberg's async API to a synchronous | STRING |
| HIGH | integrations/python/txtai/src/txtai_xberg/pipeline.py | 127 | Extract text and metadata from one or more documents (asynchronous). The async counterpart to :meth:`__call__`, | STRING |
| HIGH | integrations/python/txtai/src/txtai_xberg/pipeline.py | 151 | Extract and flatten into ``txtai.Embeddings.index``-ready documents. Synchronous wrapper around :meth:`ato_docu | STRING |
| HIGH | integrations/python/txtai/src/txtai_xberg/pipeline.py | 171 | Extract and flatten into ``txtai.Embeddings.index``-ready documents. The async counterpart to :meth:`to_documen | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 168 | CODE | |
| LOW | …/benchmark-harness/tests/test_corpus_cache_manifest.py | 216 | CODE | |
| LOW | tools/benchmark-harness/scripts/import_omnidocbench.py | 228 | CODE | |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 160 | CODE | |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 128 | CODE | |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 382 | CODE | |
| LOW | …/benchmark-harness/scripts/build_structural_sidecar.py | 277 | CODE | |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 103 | CODE | |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 281 | CODE | |
| LOW | …ols/benchmark-harness/scripts/corpus_cache_manifest.py | 134 | CODE | |
| LOW | …ols/benchmark-harness/scripts/corpus_cache_manifest.py | 281 | CODE | |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 142 | CODE | |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 125 | CODE | |
| LOW | …xtures/src/generate_test_fixtures/security_fixtures.py | 43 | CODE | |
| LOW | …_fixtures/src/generate_test_fixtures/xlsx_revisions.py | 91 | CODE | |
| LOW | …t_fixtures/src/generate_test_fixtures/odt_revisions.py | 108 | CODE | |
| LOW | …t_fixtures/src/generate_test_fixtures/pptx_comments.py | 105 | CODE | |
| LOW | scripts/sync_supported_counts.py | 126 | CODE | |
| LOW | scripts/ci/check-alef-readme-paths.py | 130 | CODE | |
| LOW | scripts/ci/benchmarks/validate-workflow-matrix.py | 35 | CODE | |
| LOW | scripts/ci/benchmarks/validate-workflow-matrix.py | 112 | CODE | |
| LOW | scripts/ci/benchmarks/validate-workflow-matrix.py | 136 | CODE | |
| LOW | scripts/ci/ruby/vendor-xberg-core.py | 115 | CODE | |
| LOW | scripts/ci/ruby/vendor-xberg-core.py | 245 | CODE | |
| LOW | scripts/ci/ruby/vendor-xberg-core.py | 124 | CODE | |
| LOW | cli-proxy/pypi/xberg_cli/downloader.py | 184 | CODE | |
| LOW | e2e/python/conftest.py | 34 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …/benchmark-harness/scripts/build_structural_sidecar.py | 21 | {"kind": "heading", "level": u8, "parent": int|null, "path": [str], "text": str} | STRING |
| HIGH⚡ | …/benchmark-harness/scripts/build_structural_sidecar.py | 22 | {"kind": "list_item", "depth": int, "ordered": bool, "parent_item": int|null, "text": str} | STRING |
| HIGH⚡ | …/benchmark-harness/scripts/build_structural_sidecar.py | 26 | {"kind": "figure", "caption": int|null, "text": str} | STRING |
| HIGH⚡ | …/benchmark-harness/scripts/build_structural_sidecar.py | 27 | {"kind": "caption", "binds_to": int|null, "text": str} | STRING |
| HIGH⚡ | …/benchmark-harness/scripts/build_structural_sidecar.py | 28 | {"kind": "footnote", "binds_to": int|null, "text": str} | STRING |
| HIGH | scripts/ci/docker/test_docker.py | 873 | "echo 'attempt' > /data/test2.txt 2>&1 || echo 'READ_ONLY'", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs-site/src/snippets/python/ocr/cloud_ocr_backend.md | 61 | backend: CloudOcrBackend = CloudOcrBackend(api_key="your-api-key") | CODE |
| HIGH | docs-site/src/snippets/java/ocr/cloud_ocr_backend.md | 104 | Xberg.registerOcrBackend(new CloudOcrExample("your-api-key")); | CODE |
| HIGH | docs-site/src/snippets/csharp/cloud_ocr_backend.md | 68 | var backend = new CloudOcrBackend(apiKey: "your-api-key"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | crates/xberg-pdfium-render/src/bindgen/pdfium_7678.rs | 1165 | #[doc = " Function: FPDF_LoadDocument\n Open and load a PDF document.\n Parameters:\n file_path - | COMMENT |
| MEDIUM⚡ | crates/xberg-pdfium-render/src/bindgen/pdfium_7678.rs | 1169 | #[doc = " Function: FPDF_LoadMemDocument\n Open and load a PDF document from memory.\n Parameters:\n | COMMENT |
| MEDIUM⚡ | crates/xberg-pdfium-render/src/bindgen/pdfium_7678.rs | 1177 | #[doc = " Experimental API.\n Function: FPDF_LoadMemDocument64\n Open and load a PDF document from memory.\ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugin/.hermes/plugins/xberg/__init__.py | 12 | __all__ = ["hermes", "register"] | CODE |
| LOW | …in/.hermes/package/src/xberg_hermes_plugin/__init__.py | 12 | __all__ = ["hermes", "register"] | CODE |
| LOW | …parser-xberg/llama_index/node_parser/xberg/__init__.py | 5 | __all__ = ["XbergNodeParser"] | CODE |
| LOW | …ode-parser-xberg/llama_index/node_parser/xberg/base.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ex-readers-xberg/llama_index/readers/xberg/__init__.py | 5 | __all__ = ["XbergReader"] | CODE |
| LOW | …-index-readers-xberg/llama_index/readers/xberg/base.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | integrations/python/crewai/src/crewai_xberg/__init__.py | 12 | __all__ = [ | CODE |
| LOW | …tions/python/surrealdb/src/surrealdb_xberg/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …tions/python/langchain/src/langchain_xberg/__init__.py | 5 | __all__ = ["XbergLoader"] | CODE |
| LOW | integrations/python/txtai/src/txtai_xberg/__init__.py | 11 | __all__ = [ | CODE |
| LOW | packages/python/xberg/__init__.py | 433 | __all__ = [ | CODE |
| LOW | packages/python/xberg/exceptions.py | 40 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/xberg-native-pdf/src/object.rs | 238 | // Step 1: Decrypt stream data BEFORE applying filters | COMMENT |
| LOW | crates/xberg-native-pdf/src/object.rs | 277 | // Step 2: Apply filters (decompression) | COMMENT |
| LOW | crates/xberg-native-pdf/src/encryption/algorithms.rs | 251 | // Step 1: Initial hash = SHA-256(password || salt || user_key) ~keep | COMMENT |
| LOW | crates/xberg-native-pdf/src/rendering/page_renderer.rs | 7621 | // Step 2: locate subinterval index via the half-open | COMMENT |
| LOW | crates/xberg-native-pdf/src/fonts/cmap.rs | 715 | // For notdefrange, we need to check if source is already mapped ~keep | COMMENT |
| LOW | crates/xberg-native-pdf/src/extractors/text.rs | 6751 | // Step 3: Create WordBoundaryDetector and detect boundaries | COMMENT |
| LOW | crates/xberg-native-pdf/src/extractors/text.rs | 6849 | // Step 2: Apply CTM to convert from text space to user space | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/xberg-native-pdf/src/object.rs | 238 | // Step 1: Decrypt stream data BEFORE applying filters | COMMENT |
| LOW | crates/xberg-native-pdf/src/object.rs | 277 | // Step 2: Apply filters (decompression) | COMMENT |
| LOW | crates/xberg-native-pdf/src/encryption/algorithms.rs | 251 | // Step 1: Initial hash = SHA-256(password || salt || user_key) ~keep | COMMENT |
| LOW | crates/xberg-native-pdf/src/rendering/page_renderer.rs | 7621 | // Step 2: locate subinterval index via the half-open | COMMENT |
| LOW | crates/xberg-native-pdf/src/extractors/text.rs | 6751 | // Step 3: Create WordBoundaryDetector and detect boundaries | COMMENT |
| LOW | crates/xberg-native-pdf/src/extractors/text.rs | 6849 | // Step 2: Apply CTM to convert from text space to user space | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …arsers/llama-index-node-parser-xberg/tests/conftest.py | 60 | CODE | |
| LOW | …ex/readers/llama-index-readers-xberg/tests/conftest.py | 48 | CODE | |
| LOW | …ex/readers/llama-index-readers-xberg/tests/conftest.py | 83 | CODE | |
| LOW | …rations/python/surrealdb/src/surrealdb_xberg/schema.py | 111 | CODE | |
| LOW | integrations/python/langchain/tests/conftest.py | 124 | CODE | |
| LOW | packages/python/xberg/api.py | 437 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/actions/cache-benchmark-harness/action.yml | 275 | # Check if binary exists | COMMENT |
| LOW | .github/actions/cache-benchmark-harness/action.yml | 281 | # Check if binary is executable | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/scripts/publish-placeholders.sh | 12 | # Usage: | COMMENT |