A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 97+ formats. Available for Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, R, C, TypeScript (Node/Bun/Wasm/Deno)- or use via CLI, REST API, or MCP server.
This report presents the forensic synthetic code analysis of xberg-io/xberg, a Rust project with 8,642 GitHub stars. SynthScan v2.0 examined 1,154,681 lines of code across 4593 source files, recording 4681 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 6.0 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 4681 distinct pattern matches across 17 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 | 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 | docs-site/src/snippets/go/config/embedding_config.go | 81 | _ = embeddingConfig | COMMENT |
| LOW | docs-site/src/snippets/go/config/hierarchy_config.go | 81 | // | COMMENT |
| LOW | …cs-site/src/snippets/python/config/embedding_config.py | 61 | ) | COMMENT |
| LOW | …cs-site/src/snippets/python/config/embedding_config.py | 81 | # | COMMENT |
| LOW | …cs-site/src/snippets/python/config/hierarchy_config.py | 61 | # - Lower values create simpler structure | COMMENT |
| LOW | …s-site/src/snippets/dart/plugins/pdf_only_processor.md | 1 | <!-- snippet:skip reason="Dart cannot construct the opaque BoxFn closure types required by createPostProcessorDartImpl — | COMMENT |
| LOW | …e/src/snippets/dart/plugins/quality_score_validator.md | 1 | <!-- snippet:skip reason="Dart cannot construct the opaque BoxFn closure types required by createValidatorDartImpl — flu | COMMENT |
| LOW | …ite/src/snippets/typescript/config/hierarchy_config.ts | 61 | const _resultOcr = extract({ kind: "uri", uri: "document.pdf" }, extractionConfigOcr); | COMMENT |
| LOW | …ite/src/snippets/typescript/config/hierarchy_config.ts | 81 | // - Range: 0.0 to 1.0 | COMMENT |
| LOW | …ite/src/snippets/typescript/config/embedding_config.ts | 81 | // | COMMENT |
| LOW | docs-site/src/snippets/rust/config/embedding_config.rs | 61 | preset: Some("balanced".to_string()), | COMMENT |
| LOW | docs-site/src/snippets/rust/config/embedding_config.rs | 81 | // - None: Uses .xberg/embeddings/ in current directory | COMMENT |
| LOW | docs-site/src/snippets/rust/config/hierarchy_config.rs | 61 | }; | COMMENT |
| LOW | docs-site/src/snippets/rust/config/hierarchy_config.rs | 81 | // include_bbox: bool (default: true) | COMMENT |
| LOW | docs-site/src/snippets/wasm/config/hierarchy_config.ts | 81 | // | COMMENT |
| LOW | docs-site/src/snippets/wasm/config/embedding_config.ts | 81 | // batchSize: Number of texts to embed at once (32-128 typical) | COMMENT |
| LOW | …cs-site/src/snippets/java/config/hierarchy_config.java | 81 | // kClusters: int (default: 6, valid: 1-7) | COMMENT |
| LOW | …cs-site/src/snippets/java/config/embedding_config.java | 81 | // | COMMENT |
| LOW | …e/src/snippets/swift/plugins/pdf_metadata_extractor.md | 1 | <!-- snippet:skip reason="swift-bridge 0.1.59 does not expose SwiftDocumentExtractorBox constructor or protocol definiti | COMMENT |
| LOW | …cs-site/src/snippets/swift/plugins/plugin_extractor.md | 1 | <!-- snippet:skip reason="swift-bridge 0.1.59 does not expose SwiftDocumentExtractorBox constructor or protocol definiti | COMMENT |
| LOW | …e/src/snippets/swift/plugins/extractor_registration.md | 1 | <!-- snippet:skip reason="swift-bridge does not generate Swift-side protocol constructors for plugin registration. The R | COMMENT |
| LOW | …cs-site/src/snippets/csharp/config/embedding_config.cs | 101 | // CacheDir: Where to store downloaded models | COMMENT |
| LOW | …cs-site/src/snippets/csharp/config/hierarchy_config.cs | 81 | // - Enable or disable hierarchy extraction | COMMENT |
| LOW | docs-site/src/snippets/ruby/config/hierarchy_config.rb | 61 | hierarchy: hierarchy_config_ocr | COMMENT |
| LOW | docs-site/src/snippets/ruby/config/hierarchy_config.rb | 81 | # - Lower values create simpler structure | COMMENT |
| LOW | docs-site/src/snippets/ruby/config/embedding_config.rb | 81 | # | COMMENT |
| LOW | tools/benchmark-harness/tests/structured_smoke.rs | 1 | //! Stage 0/2 smoke test: prove the structured-extraction benchmark plumbing | COMMENT |
| LOW | tools/benchmark-harness/tests/profiling_zero_cost.rs | 1 | //! Zero-cost profiling verification tests | COMMENT |
| LOW | tools/benchmark-harness/tests/profiling_zero_cost.rs | 21 | } | 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/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/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 | 141 | COMMENT | |
| LOW | tools/benchmark-harness/src/types.rs | 161 | /// - **Timeout**: extraction exceeded configured timeout | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 241 | /// File extension without dot (e.g., "pdf", "docx") | COMMENT |
| LOW | tools/benchmark-harness/src/types.rs | 321 | #[serde(default, skip_serializing_if = "Vec::is_empty")] | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 21 | /// Get the framework name (e.g., "xberg-rust", "xberg-python") | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 41 | /// Get the output formats supported by this adapter | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 61 | &self, | COMMENT |
| LOW | tools/benchmark-harness/src/adapter.rs | 121 | 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 | |
| LOW | tools/benchmark-harness/src/monitoring.rs | 101 | COMMENT | |
| LOW | tools/benchmark-harness/src/monitoring.rs | 121 | Some(*pid) | COMMENT |
| LOW | tools/benchmark-harness/src/monitoring.rs | 181 | /// Recursively traverses the process tree, summing CPU usage from the parent | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 1 | //! Comprehensive profiling report generation with hotspot analysis | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 21 | //! # HTML Report Format | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 81 | effective_frequency: 0.0, | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 141 | /// | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 161 | function_name: "[profile data collected - hotspot extraction requires pprof API enhancement]".to_string(), | COMMENT |
| LOW | tools/benchmark-harness/src/profile_report.rs | 241 | } | COMMENT |
| 3297 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …e/src/snippets/csharp/advanced/custom_postprocessor.cs | 19 | result.Metadata.Additional["word_count"] = System.Text.Json.Nodes.JsonValue.Create(wordCount); | CODE |
| CRITICAL | …e/src/snippets/csharp/advanced/custom_postprocessor.cs | 38 | result.Metadata.Additional["sentiment"] = System.Text.Json.Nodes.JsonValue.Create(sentiment); | CODE |
| CRITICAL | …snippets/csharp/plugins/custom_postprocessor_plugin.cs | 25 | result.Metadata.Additional["word_count"] = System.Text.Json.Nodes.JsonValue.Create(wordCount); | CODE |
| CRITICAL | …snippets/csharp/plugins/custom_postprocessor_plugin.cs | 71 | result.Metadata.Additional["detected_language"] = System.Text.Json.Nodes.JsonValue.Create(detectedLanguage); | CODE |
| 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 | 78 | @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 | 35 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = SparseEmbeddingModelTypeDeserializer::class) | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 36 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = SparseEmbeddingModelTypeSerializer::class) | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 39 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 40 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 45 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 46 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 54 | @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.N | CODE |
| CRITICAL⚡ | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 55 | @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.databind.JsonSerializer.None: | CODE |
| CRITICAL | …d/src/main/kotlin/io/xberg/SparseEmbeddingModelType.kt | 75 | 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 | 40 | @field:com.fasterxml.jackson.databind.annotation.JsonSerialize(`as` = RerankerModelType::class) | 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 |
| 156 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs-site/src/snippets/python/cli/basic_cli.py | 4 | CODE | |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 3 | CODE | |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 29 | CODE | |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 12 | CODE | |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 9 | CODE | |
| LOW | tools/benchmark-harness/scripts/xberg_extract.py | 11 | CODE | |
| LOW | tools/benchmark-harness/scripts/generate_markdown_gt.py | 24 | CODE | |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 3 | CODE | |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 3 | CODE | |
| LOW | …mark-harness/python_baselines/paddleocr_vl_baseline.py | 18 | CODE | |
| LOW | …mark-harness/python_baselines/deepseek_ocr_baseline.py | 19 | 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 | scripts/sign_macos_wheels.py | 4 | CODE | |
| LOW | scripts/python/print_xberg_version.py | 4 | CODE | |
| LOW | scripts/ci/docker/test_docker.py | 4 | CODE | |
| LOW | packages/python/xberg/options.py | 7 | CODE | |
| LOW | packages/python/xberg/options.py | 13 | CODE | |
| LOW | packages/python/xberg/options.py | 13 | CODE | |
| LOW | packages/python/xberg/options.py | 13 | CODE | |
| LOW | packages/python/xberg/options.py | 13 | CODE | |
| LOW | packages/python/xberg/options.py | 13 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/options.py | 61 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| LOW | packages/python/xberg/__init__.py | 10 | CODE | |
| 383 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 | …e/src/snippets/wasm/advanced/token_reduction_config.md | 38 | async function compareTokenReductionModes(bytes: Uint8Array): Promise<TokenReductionResult[]> { | CODE |
| LOW | docs-site/src/snippets/wasm/config/chunking-config.ts | 40 | async function extractWithPrependHeadingContext() { | CODE |
| LOW | …cs-site/src/snippets/wasm/config/conditional-config.ts | 4 | async function extractWithConditionalConfig(fileSize: number) { | CODE |
| LOW | …ite/src/snippets/wasm/plugins/post-processor-custom.ts | 23 | async function demonstrateCustomProcessor() { | CODE |
| LOW | docs-site/src/snippets/wasm/plugins/plugin-lifecycle.ts | 49 | async function demonstratePluginLifecycle() { | CODE |
| LOW | docs-site/src/snippets/wasm/plugins/plugin_testing.md | 21 | function testPostProcessorRegistration() { | CODE |
| LOW | docs-site/src/snippets/wasm/plugins/plugin_testing.md | 36 | function testValidatorRegistration() { | CODE |
| LOW | docs-site/src/snippets/wasm/ocr/multi-language-ocr.ts | 3 | async function extractMultilingualDocument() { | CODE |
| LOW | docs-site/src/snippets/wasm/ocr/progress-tracking.ts | 3 | async function extractWithProgressTracking() { | CODE |
| LOW | docs-site/src/snippets/wasm/metadata/filter-metadata.ts | 11 | async function filterAndSummarizeMetadata(files: string[]): Promise<DocumentSummary[]> { | CODE |
| LOW | …-site/src/snippets/php/advanced/performance_tuning.php | 90 | function processLargeDocumentEfficiently(string $filePath): void | CODE |
| LOW | docs-site/src/snippets/php/plugins/ocr_backend.md | 59 | public function supportsDocumentProcessing(): bool { | CODE |
| LOW | …cs-site/src/snippets/php/utils/image_preprocessing.php | 145 | function recommendPreprocessingSettings(string $documentType): ImagePreprocessingConfig | CODE |
| LOW | …snippets/php/utils/language_detection_multilingual.php | 73 | function categorizeMultilingualDocument(array $languages): string | CODE |
| LOW | …src/snippets/php/utils/vector_database_integration.php | 264 | function exportVectorRecordsToJson(array $records, string $filename): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-ruby.md | 4025 | def supports_document_processing() | CODE |
| LOW | docs-site/src/content/docs/reference/api-ruby.md | 4048 | def emits_structured_markdown() | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 216 | public static function registerDocumentExtractor(DocumentExtractor $extractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 251 | public static function unregisterDocumentExtractor(string $name): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-php.md | 4025 | public function supportsDocumentProcessing(): bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-typescript.md | 216 | function registerDocumentExtractor(extractor: DocumentExtractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-typescript.md | 251 | function unregisterDocumentExtractor(name: string): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 242 | def clear_document_extractors() | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 3906 | def supports_document_processing() | CODE |
| LOW | docs-site/src/content/docs/reference/api-elixir.md | 3929 | def emits_structured_markdown() | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 234 | def clear_document_extractors() -> None | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 3902 | def supports_document_processing(self) -> bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-python.md | 3925 | def emits_structured_markdown(self) -> bool | CODE |
| LOW | docs-site/src/content/docs/reference/api-wasm.md | 216 | function registerDocumentExtractor(extractor: DocumentExtractor): void | CODE |
| LOW | docs-site/src/content/docs/reference/api-wasm.md | 251 | function unregisterDocumentExtractor(name: string): void | CODE |
| LOW | tools/generate_test_fixtures/tests/test_generation.py | 46 | def test_generator_runs_and_emits_well_formed_outputs(module, tmp_path: Path, repo_root: Path) -> None: | CODE |
| LOW | …xtures/src/generate_test_fixtures/security_fixtures.py | 132 | def _emit_docx_oversized_embedded(output_dir: Path, repo_root: Path) -> list[Path]: | CODE |
| LOW | …fixtures/src/generate_test_fixtures/pdf_incremental.py | 90 | def _append_incremental_update( | CODE |
| LOW | crates/xberg-node/index.js | 29 | function requireOptionalDependency(name) { | CODE |
| LOW | crates/xberg-node/index.d.ts | 8017 | export declare function registerDocumentExtractor(extractor: DocumentExtractor): void; | CODE |
| LOW | crates/xberg-node/index.d.ts | 8054 | export declare function unregisterDocumentExtractor(name: string): void; | CODE |
| LOW | crates/xberg-node/index.d.ts | 8056 | export declare function unregisterEmbeddingBackend(name: string): void; | CODE |
| LOW | crates/xberg-node/index.d.ts | 8068 | export declare function unregisterRerankerBackend(name: string): void; | CODE |
| LOW | crates/xberg-node/index.d.ts | 8070 | export declare function unregisterTokenizerBackend(name: string): void; | CODE |
| LOW | scripts/ci/docker/test_docker.py | 348 | def test_paddle_ocr_extraction(t: TestRunner) -> None: | CODE |
| LOW | scripts/ci/ruby/vendor-xberg-core.py | 115 | def replace_workspace_deps_in_toml(toml_path: Path, workspace_deps: dict[str, object]) -> None: | CODE |
| LOW | scripts/ci/ruby/vendor-xberg-core.py | 197 | def generate_vendor_cargo_toml( | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4022 | def _from_native_dbf_metadata(native: Any) -> DbfMetadata: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4031 | def _from_native_diff_options(native: Any) -> DiffOptions: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4040 | def _from_native_document_counts(native: Any) -> DocumentCounts: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4049 | def _from_native_document_structure(native: Any) -> DocumentStructure: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4059 | def _from_native_docx_app_properties(native: Any) -> DocxAppProperties: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4726 | def _from_native_pptx_metadata(native: Any) -> PptxMetadata: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4736 | def _from_native_proxy_config(native: Any) -> ProxyConfig: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4745 | def _from_native_pst_metadata(native: Any) -> PstMetadata: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4926 | def _from_native_text_metadata(native: Any) -> TextMetadata: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4936 | def _from_native_token_counter(_native: Any) -> TokenCounter: | CODE |
| LOW⚡ | packages/python/xberg/options.py | 4941 | def _from_native_token_reduction_config(native: Any) -> TokenReductionConfig: | CODE |
| LOW | packages/python/xberg/options.py | 3811 | def _from_native_acceleration_config(native: Any) -> AccelerationConfig: | CODE |
| LOW | packages/python/xberg/options.py | 3819 | def _from_native_archive_metadata(native: Any) -> ArchiveMetadata: | CODE |
| LOW | packages/python/xberg/options.py | 3830 | def _from_native_audio_metadata(native: Any) -> AudioMetadata: | CODE |
| LOW | packages/python/xberg/options.py | 3842 | def _from_native_bibtex_metadata(native: Any) -> BibtexMetadata: | CODE |
| LOW | packages/python/xberg/options.py | 3853 | def _from_native_bounding_box(native: Any) -> BoundingBox: | CODE |
| 196 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …pets/swift/advanced/language_detection_multilingual.md | 0 | { "language_detection": { "enabled": true, "min_confidence": 0.8, "detect_multiple": true } } | STRING |
| HIGH | …src/snippets/swift/config/language_detection_config.md | 0 | { "language_detection": { "enabled": true, "min_confidence": 0.8, "detect_multiple": true } } | STRING |
| HIGH | …pets/swift/metadata/language_detection_multilingual.md | 0 | { "language_detection": { "enabled": true, "min_confidence": 0.8, "detect_multiple": true } } | STRING |
| HIGH | docs-site/src/snippets/swift/config/config_ocr.md | 0 | { "ocr": { "backend": "tesseract", "language": "eng" } } | STRING |
| HIGH | docs-site/src/snippets/swift/ocr/ocr_extraction.md | 0 | { "ocr": { "backend": "tesseract", "language": "eng" } } | STRING |
| HIGH | packages/swift/README.md | 0 | { "ocr": { "backend": "tesseract", "language": "eng" } } | STRING |
| 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/xberg_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 |
|---|---|---|---|---|
| MEDIUM | …cs-site/src/snippets/zig/api/error_handling_extract.md | 34 | else => try stderr.print("Error: {s}\n", .{@errorName(err)}), | CODE |
| MEDIUM | …te/src/snippets/python/utils/error_handling_extract.md | 18 | print(f"Error: {error_type}: {message}") | CODE |
| MEDIUM | docs-site/src/snippets/python/cli/cli_with_config.py | 14 | print(f"Error: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM | docs-site/src/snippets/python/cli/basic_cli.py | 14 | print(f"Error: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM | …-site/src/snippets/swift/api/error_handling_extract.md | 30 | print("Error: \(message)") | CODE |
| LOW | …s/benchmark-harness/scripts/generate_pdf_gt_mistral.py | 153 | except Exception as e: | CODE |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 151 | 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 |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 286 | except Exception: | CODE |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 635 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 128 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 154 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 186 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 191 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 213 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 228 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 231 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 258 | except Exception as e: | CODE |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 281 | print(f"Error: --format must be 'markdown' or 'plaintext'; got '{output_format}'", file=sys.stderr) | CODE |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 301 | print("Error: sync mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM | tools/benchmark-harness/scripts/mineru_extract.py | 311 | print("Error: batch mode requires at least one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 322 | print(f"Error: Unknown mode '{mode}'. Use sync, batch, or server", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 325 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/mineru_extract.py | 326 | print(f"Error extracting with MinerU: {e}", file=sys.stderr) | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 129 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 134 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 156 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 171 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 174 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 201 | except Exception as e: | CODE |
| MEDIUM | tools/benchmark-harness/scripts/docling_extract.py | 237 | print(f"Error: --format must be 'markdown' or 'plaintext'; got '{output_format}'", file=sys.stderr) | CODE |
| MEDIUM | tools/benchmark-harness/scripts/docling_extract.py | 259 | print("Error: sync mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM | tools/benchmark-harness/scripts/docling_extract.py | 266 | print("Error: batch mode requires at least one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 277 | print(f"Error: Unknown mode '{mode}'. Use sync, batch, or server", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/docling_extract.py | 280 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/docling_extract.py | 281 | print(f"Error extracting with Docling: {e}", file=sys.stderr) | CODE |
| LOW | tools/benchmark-harness/scripts/xberg_extract.py | 167 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 197 | print("Error: sync mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 204 | print("Error: async mode requires exactly one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 211 | print("Error: batch mode requires at least one file", file=sys.stderr) | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 222 | print(f"Error: Unknown mode '{mode}'. Use sync, async, batch, or server", file=sys.stderr) | CODE |
| LOW⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 225 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/benchmark-harness/scripts/xberg_extract.py | 226 | print(f"Error extracting with Xberg: {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 | 98 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 103 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 125 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 140 | except Exception: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 143 | except Exception as e: | CODE |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 170 | except Exception as e: | CODE |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/xberg-wasm/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 | .cargo/config.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/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/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_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_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/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/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 |
| MEDIUM | e2e/ruby/spec/format_specific_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/ocr_backend_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/embedding_backend_management_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/extract_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| MEDIUM | e2e/ruby/spec/smoke_spec.rb | 1 | # This file is auto-generated by alef — DO NOT EDIT. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | basemind.toml | 46 | # Document RAG tier (PDF / Office / HTML / email / images). Requires a `documents` build. | COMMENT |
| MEDIUM | …cs-site/src/snippets/python/config/embedding_config.py | 15 | # - "balanced" (768 dims): Production, general-purpose RAG, English documents | COMMENT |
| MEDIUM | docs-site/src/snippets/php/README.md | 15 | ├── chunking/ # Text chunking for RAG | CODE |
| MEDIUM | docs-site/src/snippets/ruby/config/embedding_config.rb | 15 | # - "balanced" (768 dims): Production, general-purpose RAG, English documents | COMMENT |
| MEDIUM | docs-site/src/content/docs/reference/api-dart.md | 1169 | | `prependHeadingContext` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-ruby.md | 1169 | | `prepend_heading_context` | `Boolean` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hi | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-php.md | 1169 | | `prependHeadingContext` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-zig.md | 1169 | | `prependHeadingContext` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-java.md | 1152 | | `prependHeadingContext` | `boolean` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hier | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-typescript.md | 1169 | | `prependHeadingContext` | `boolean` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hier | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-go.md | 1213 | | `PrependHeadingContext` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-elixir.md | 1050 | | `prepend_heading_context` | `boolean()` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-c.md | 1152 | | `prepend_heading_context` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hiera | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-rust.md | 1327 | | `prepend_heading_context` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hiera | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-csharp.md | 1024 | | `PrependHeadingContext` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/configuration.md | 586 | | `prepend_heading_context` | `bool` | `False` | When `True` and `chunker_type` is `Markdown`, prepend the heading hiera | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-python.md | 1024 | | `prepend_heading_context` | `bool` | `False` | When `True` and `chunker_type` is `Markdown`, prepend the heading hiera | CODE |
| MEDIUM | …-site/src/content/docs/reference/api-kotlin-android.md | 1043 | | `prependHeadingContext` | `Boolean` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hier | CODE |
| MEDIUM | docs-site/src/content/docs/reference/types.md | 733 | | `prepend_heading_context` | `bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hiera | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-swift.md | 1024 | | `prependHeadingContext` | `Bool` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hierarc | CODE |
| MEDIUM | docs-site/src/content/docs/reference/api-wasm.md | 910 | | `prependHeadingContext` | `boolean` | `false` | When `true` and `chunker_type` is `Markdown`, prepend the heading hier | CODE |
| MEDIUM | tools/benchmark-harness/src/field_quality.rs | 15 | //! SF1/TF1 guardrails system. | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 176 | /// Enable quality guardrails (fail on regressions) | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 180 | /// Path to guardrails JSON config file (used when --guardrails is set) | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/src/main.rs | 181 | #[arg(long, default_value = "guardrails.json")] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 205 | /// Generate quality guardrails JSON from benchmark results | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 219 | /// Output path for the guardrails JSON file | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 220 | #[arg(short, long, default_value = "guardrails.json")] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 304 | /// 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 | 24 | //! When `guardrails` is enabled, the comparison enforces per-document minimum | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 226 | /// Path to a JSON guardrails file. When `guardrails` is true this file | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1040 | /// Data-driven guardrails configuration loaded from JSON. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1060 | /// Load a guardrails configuration from a JSON file. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1067 | /// Generate a guardrails configuration from benchmark results. | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1106 | /// Check guardrails from a loaded config, returning a list of failure messages (empty = all passed). | COMMENT |
| MEDIUM | tools/benchmark-harness/src/comparison.rs | 1147 | /// Run comparison with guardrails and return exit code (0 = pass, 1 = fail). | COMMENT |
| MEDIUM | crates/xberg-cli/README.md | 583 | # Download only the fast embedding model | COMMENT |
| MEDIUM | crates/xberg/Cargo.toml | 351 | 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 | 291 | #[ignore = "gpu: requires CUDA + ONNX Runtime CUDA EP + embedding model"] | COMMENT |
| MEDIUM | crates/xberg/tests/gpu_acceleration.rs | 319 | #[ignore = "gpu: requires CUDA + ONNX Runtime CUDA EP + embedding model"] | COMMENT |
| MEDIUM | .cargo/config.toml | 3 | # Re-generate with: alef scaffold | COMMENT |
| MEDIUM | .ai-rulez/skills/chunking-embeddings/SKILL.md | 94 | ## RAG Integration Pattern | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 698 | ## Provider-hosted embedding model via liter-llm. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 741 | ## context window via `max_characters` directly. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 949 | # Sparse-embedding model types supported by Xberg. | COMMENT |
| MEDIUM | templates/readme/cli.md | 583 | # Download only the fast embedding model | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | crates/xberg/tests/jupyter_extractor_tests.rs | 40 | /// - Lorem ipsum heading with bold formatting | COMMENT |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 74 | extraction.content.contains("Lorem ipsum"), | CODE |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 75 | "Should extract markdown cell 'Lorem ipsum'" | CODE |
| LOW⚡ | crates/xberg/tests/jupyter_extractor_tests.rs | 78 | extraction.content.contains("Lorem ipsum"), | 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 | 676 | result.content.to_lowercase().contains("lorem ipsum"), | CODE |
| LOW | crates/xberg/tests/rtf_extractor_tests.rs | 677 | "Content should contain lorem ipsum text" | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 249 | let count = content.matches("Jane Doe").count(); | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 252 | "flattened Widget value 'Jane Doe' must appear exactly once, not duplicated; got: {content:?}" | CODE |
| LOW⚡ | crates/xberg/tests/pdf_form_fields.rs | 261 | /// `test_documents/ground_truth/pdf/flattened_form.fields.json` expects "Jane Doe". | COMMENT |
| LOW | crates/xberg/tests/pdf_form_fields.rs | 274 | result.content.contains("Jane Doe"), | CODE |
| LOW | crates/xberg/tests/pdf_form_fields.rs | 275 | "content-stream text 'Jane Doe' missing; got {:?}", | CODE |
| LOW | crates/xberg/tests/opml_extractor_tests.rs | 152 | Some("Jane Doe"), | CODE |
| LOW | crates/xberg/tests/markdown_extractor_tests.rs | 47 | assert_eq!(result.metadata.created_by.as_deref(), Some("John Doe")); | CODE |
| LOW⚡ | crates/xberg/tests/bibtex_parity_test.rs | 168 | ("author = {John Doe}", vec!["John Doe"]), | CODE |
| LOW⚡ | crates/xberg/tests/bibtex_parity_test.rs | 169 | ("author = {John Doe and Jane Smith}", vec!["John Doe", "Jane Smith"]), | CODE |
| LOW⚡ | crates/xberg/tests/bibtex_parity_test.rs | 173 | vec!["John Doe", "Jane Smith", "Bob Jones"], | CODE |
| LOW | crates/xberg/tests/odt_extractor_tests.rs | 88 | assert_eq!(created_by.as_str(), Some("John Doe"), "Creator should match"); | CODE |
| LOW | crates/xberg/tests/odt_extractor_tests.rs | 94 | assert_eq!(authors_array[0].as_str(), Some("John Doe"), "Author name should match"); | CODE |
| LOW | crates/xberg/src/heuristics/multidoc.rs | 530 | let page_a = approximate_text_density(&"lorem ipsum ".repeat(300)); | CODE |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/benchmark-harness/scripts/bench_local.sh | 11 | # batch : batch throughput. NOTE: the harness runs Xberg's batch as | COMMENT |
| MEDIUM | tools/benchmark-harness/scripts/bench_local.sh | 20 | # OUT output dir (default: tools/benchmark-harness/results/local) | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/scripts/bench_local.sh | 54 | # 2. Build the xberg CLI + harness (release), unless skipped. | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/scripts/bench_local.sh | 63 | # 3. Add Docling only if it is importable the same way the harness invokes it. | COMMENT |
| MEDIUM⚡ | tools/benchmark-harness/scripts/bench_local.sh | 64 | # The harness's find_python_with_framework() prefers `uv run` whenever `uv` | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 39 | #[command(name = "benchmark-harness")] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 40 | #[command(about = "Benchmark harness for document extraction frameworks", long_about = None)] | COMMENT |
| MEDIUM | tools/benchmark-harness/src/main.rs | 297 | #[arg(short, long, default_value = "tools/benchmark-harness/fixtures/split")] | COMMENT |
| MEDIUM | crates/xberg-ffi/tests/email_attachment_data_len.rs | 55 | // Simple and robust: the declaration for this specific function must mention out_len. | 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 | 838 | /// 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/core/batch_optimizations.rs | 3 | //! This module provides optimized batch processing utilities that leverage | COMMENT |
| MEDIUM | crates/xberg/src/ocr/layout_assembly.rs | 171 | /// least 20% of the element's area. This is more robust than center-point | COMMENT |
| MEDIUM | crates/xberg/src/pdf/render.rs | 11 | /// producing a usable raster for OCR/VLM (which are robust to moderate downscaling). | COMMENT |
| MEDIUM | crates/xberg/src/pdf/structure/constants.rs | 27 | /// jitter amplitudes ≥ 3 pt while being robust against false positives: | COMMENT |
| MEDIUM | …s/xberg/src/pdf/structure/regions/table_recognition.rs | 943 | /// paragraphs are never swallowed. Alignment is robust for dense many-column | COMMENT |
| MEDIUM | crates/xberg/src/reranking/mod.rs | 250 | /// robust to how different tokenizers encode a leading word. | COMMENT |
| MEDIUM | packages/ruby/lib/xberg/native.rb | 419 | ## reasonable starting point; calibrate with the Stage 0 benchmark harness. | COMMENT |
| MEDIUM | .github/actions/cache-benchmark-harness/action.yml | 61 | # Compute hash for harness source files and Cargo.toml | COMMENT |
| MEDIUM | .github/actions/cache-benchmark-harness/action.yml | 130 | # harness-{profile}-{platform}-src-{harness-hash}-xberg-{xberg-hash}-cargo-{cargo-hash}-v{version} | COMMENT |
| MEDIUM | .github/actions/cache-benchmark-harness/action.yml | 228 | # Build benchmark-harness | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Taskfile.yml | 3 | # ============================================================================ | COMMENT |
| MEDIUM | Taskfile.yml | 4 | # ============================================================================ | COMMENT |
| MEDIUM | docs-site/public/demo.html | 356 | // ── Structured logger ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 376 | // ── Resolve the latest published WASM release ────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 430 | // ── Drag & Drop ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 474 | // ── Markdown Renderer ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 546 | // ── JSON Syntax Highlighter ──────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 562 | // ── Extraction via Web Worker ────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 665 | // ── Process File ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 743 | // ── Reset ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 757 | // ── Copy ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs-site/public/demo.html | 780 | // ── Tab Switcher ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-wasm/typescript/ocr/enabler.spec.ts | 16 | // ── Module mocks ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-wasm/typescript/ocr/enabler.spec.ts | 45 | // ── Imports (after mocks are declared) ─────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-wasm/typescript/ocr/enabler.spec.ts | 53 | // ── Helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-wasm/typescript/ocr/enabler.spec.ts | 65 | // ── Tests ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-ffi/tests/vtable_bytes_len.rs | 19 | // ── Per-test callback state ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-ffi/tests/vtable_bytes_len.rs | 35 | // ── C callback stubs ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/xberg-ffi/tests/vtable_bytes_len.rs | 91 | // ── Tests ───────────────────────────────────────────────────────────────── | 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 | .task/tools/demo.yml | 3 | # ============================================================================ | COMMENT |
| MEDIUM | .task/tools/fixtures.yml | 3 | # ============================================================================ | COMMENT |
| 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 | 13 | String apiKey = "your-api-key"; | CODE |
| HIGH | docs-site/src/snippets/csharp/cloud_ocr_backend.md | 52 | var backend = new CloudOcrBackend(apiKey: "your-api-key"); | CODE |
| HIGH | …ite/src/snippets/csharp/advanced/custom_ocr_backend.cs | 63 | using var backend = new CloudOcrBackend("your-api-key"); | CODE |
| HIGH | …-site/src/snippets/csharp/plugins/custom_ocr_plugin.cs | 65 | using var backend = new CloudOcrBackend(apiKey: "your-api-key-here"); | CODE |
| HIGH | docs-site/src/snippets/csharp/ocr/cloud_ocr_backend.md | 74 | var backend = new CloudOcrBackend(apiKey: "your-api-key"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/benchmark-harness/scripts/import_omnidocbench.py | 228 | CODE | |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 55 | CODE | |
| LOW | …nchmark-harness/scripts/generate_vendored_baselines.py | 78 | CODE | |
| LOW | tools/benchmark-harness/scripts/pymupdf4llm_extract.py | 128 | CODE | |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 235 | CODE | |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 281 | CODE | |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 430 | CODE | |
| LOW | …ols/benchmark-harness/scripts/generate_ground_truth.py | 462 | CODE | |
| LOW | tools/benchmark-harness/scripts/sanitize_pandoc_gt.py | 30 | CODE | |
| LOW | tools/benchmark-harness/scripts/sanitize_pandoc_gt.py | 101 | CODE | |
| LOW | tools/benchmark-harness/scripts/mineru_extract.py | 263 | CODE | |
| LOW | tools/benchmark-harness/scripts/docling_extract.py | 206 | CODE | |
| LOW | tools/benchmark-harness/scripts/xberg_extract.py | 172 | CODE | |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 24 | CODE | |
| LOW | tools/benchmark-harness/scripts/unstructured_extract.py | 175 | CODE | |
| LOW | tools/benchmark-harness/scripts/markitdown_extract.py | 125 | CODE | |
| LOW | …mark-harness/python_baselines/paddleocr_vl_baseline.py | 147 | CODE | |
| LOW | …mark-harness/python_baselines/paddleocr_vl_baseline.py | 163 | 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 | 103 | 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 | 182 | CODE | |
| LOW | e2e/python/conftest.py | 35 | CODE |
| 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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/benchmarks.yaml | 754 | # Check if benchmark-artifacts directory exists and is not empty | COMMENT |
| LOW | .github/workflows/benchmarks.yaml | 779 | # Check if we should skip (from validation step) | COMMENT |
| LOW | .github/workflows/benchmarks.yaml | 820 | # Check if aggregated.json exists | COMMENT |
| LOW | .github/actions/cache-benchmark-harness/action.yml | 250 | # Check if binary exists | COMMENT |
| LOW | .github/actions/cache-benchmark-harness/action.yml | 256 | # Check if binary is executable | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/ci/docker/test_docker.py | 772 | "echo 'attempt' > /data/test2.txt 2>&1 || echo 'READ_ONLY'", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/python/xberg/__init__.py | 367 | __all__ = [ | CODE |
| LOW | packages/python/xberg/exceptions.py | 40 | __all__ = [ | CODE |