Repository navigation
fix: preserve VLM section heading depth in exports - #4906
PierreMesure wants to merge 1 commit into
Conversation
Correct the shared HTML mapper and Nemotron native heading conversion. Add export and provenance regressions. Fixes docling-project#4902. Signed-off-by: Pierre Mesure <pierre@mesu.re>
|
✅ DCO Check Passed Thanks @PierreMesure, all your commits are properly signed off. 🎉 |
Merge Protections🟢 Merge protection satisfied — ready to merge. Show 1 satisfied protection🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
|
AI triage (advisory)Checked commit The PR corrects VLM section heading depth: both Topic labels added: CI safety: no concern found. A maintainer must still approve CI. Possible duplicates
2 related pull request(s) in the same code
The |
|
The AI code review did not produce a verdict for head 155d5ff. The review job hit the 40-turn limit and returned no valid JSON. The publishing job then could not find The triage duplicate warning needs context: the shared Chandra correction also appears in #4789 by design. This PR also fixes Nemotron headings and adds focused export tests. Both PRs can merge after reconciling the identical shared change; they are not mutually exclusive. The four focused parser fixes were tested together again after the #4908 review fix: 129 passed, 1 skipped. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Chandra
<h3>and Nemotron###section headings exported as####. Convert source depths to Docling's title-relative section levels so exports keep their original depth and coordinates.The HTML change is in the shared Chandra mapper, including
_add_html_fragmentcallers. The related LightOnOCR PR #4789 now uses this correction and removes its compensating pass; the shared mapper change is identical in both branches.Resolves #4902.
Checklist:
Review evidence:
.venv/bin/python -m pytest -q tests/test_vlm_heading_exports.py tests/test_chandra_vlm.py tests/test_nemotron_parse_v2.py tests/test_dots_parser.py: 93 passed on Python 3.12.UV_NO_SYNC=1 make validate: all applicable hooks passed.