Skip to content

Preserve cross-page PDF table rows during indexing - #828

Closed
hedhoud wants to merge 1 commit into
linagora:developfrom
hedhoud:feat/cross-page-table-reconstruction
Closed

Preserve cross-page PDF table rows during indexing#828
hedhoud wants to merge 1 commit into
linagora:developfrom
hedhoud:feat/cross-page-table-reconstruction

Conversation

@hedhoud

@hedhoud hedhoud commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Context

Large PDF tables can split one logical row over several pages. Continuation pages often omit the identifying cells, so the parser output no longer carries enough context for reliable retrieval.

Problem

OpenRAG currently chunks those continuation fragments independently. This can separate supporting text from its row identity and allow unrelated rows to be mixed in retrieval results.

Expected behavior

Indexation presets can opt into conservative automatic reconstruction. High-confidence continuations across adjacent pages are indexed as self-contained, row-aware chunks with source provenance. Uncertain cases preserve the original parser output, and the feature remains disabled by default for backward compatibility.

Validation

  • Backend unit suite: 2,233 passed.
  • Admin UI suite: 171 passed.
  • UI lint and production build passed.
  • The regression fixture based on original pages 803–805 reconstructs the CST salarié / L. 421-1 row across all three pages while keeping the next L. 421-3 row separate.
  • The complete 904-page source PDF was processed successfully with fail-open fallback for uncertain boundaries.

No database or vector-store migration is required.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e761e1ce-772b-4ffe-9fa7-68e6a31644a2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

hedhoud commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #830, which uses the branch pushed directly to linagora/openrag as requested. Closing this fork-based draft to avoid duplicate review.

@hedhoud hedhoud closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant