Skip to content

chore(deps): pin docling-ibm-models compound list-marker branch#3849

Open
DanielNg0729 wants to merge 2 commits into
docling-project:mainfrom
DanielNg0729:feat/adopt-compound-list-markers
Open

chore(deps): pin docling-ibm-models compound list-marker branch#3849
DanielNg0729 wants to merge 2 commits into
docling-project:mainfrom
DanielNg0729:feat/adopt-compound-list-markers

Conversation

@DanielNg0729

Copy link
Copy Markdown
Contributor

Depends on / follow-up to docling-project/docling-ibm-models#169 (and supersedes the
docling-side approach in #3815).

What this does

Pins docling-ibm-models to the branch that adds compound / hierarchical list-marker patterns
(9a., 3.a., 1.2.1, 5.1 …) to ListItemMarkerProcessor, via [tool.uv.sources]:

docling-ibm-models = { git = "https://github.com/DanielNg0729/docling-ibm-models", branch = "feat/compound-list-item-markers" }

uv.lock updates accordingly (only the docling-ibm-models source changes; no other dependency
moves). This is a temporary pin until the ibm-models change is released, after which it becomes a
normal version bump.

Ground-truth impact (measured)

The marker processor runs on every backend via document_converter, so I measured the exact
effect by running the patched processor over the committed ground-truth documents (released vs.
patched processor, drift-free). It changes 2 documents / 15 list items — all previously had an
empty marker with the marker fused into the text:

tests/data/pdf/groundtruth/2203.01017v2 (5 items) — the algorithm list:

before marker after marker text
"" 3.a. If all IOU scores in a column are below the threshold…
"" 9a. Compute the top and bottom boundary of the horizontal band…
"" 9b. Intersect the orphan's bounding box with the row bands…
"" 9c. Compute the left and right boundary of the vertical band…
"" 9d. Intersect the orphan's bounding box with the column bands…

tests/data/html/groundtruth/wiki_duck.html (10 items) — Wikipedia section entries:

5.1 Feeding, 5.2 Breeding, 5.3 Communication, 5.4 Predators, 6.1 Hunting,
6.2 Domestication, 6.3 Heraldry, 6.4 Cultural references, 8.1 Citations, 8.2 Sources
each moves the dotted-decimal number from the text into marker, with enumerated=True.

In every case enumerated flips False → True and the marker is removed from the item text.

Reference-data regeneration

The reference .json/.md/.doctags for those two documents need regenerating
(DOCLING_GEN_TEST_DATA=1). This was not done in this PR because it must run on a Linux/CI
environment to match the committed ground truth.
A local (Windows) regen is unusable: it rewrites
~117 files that are dominated by environment artifacts unrelated to this change — CRLF line
endings, /\ path separators in HTML links, and a "orientation": "rot_0" field added by the
current docling-core — and the large PDF (2203.01017v2) runs out of memory before it can be
regenerated locally. Please regenerate on CI (or advise and I'll do it in a Linux environment).

Checklist:

  • Documentation has been updated, if necessary.
  • Examples have been added, if necessary.
  • Tests have been added, if necessary.

Pin docling-ibm-models to the branch that adds compound/hierarchical list
markers (9a., 3.a., 1.2.1, 5.1) to ListItemMarkerProcessor, via
[tool.uv.sources]. Only the docling-ibm-models source changes in uv.lock.

Follow-up to the docling-ibm-models change; temporary git pin until it is
released, then it becomes a normal version bump. Affected reference data
(2203.01017v2, wiki_duck.html) to be regenerated on CI.

Signed-off-by: Daniel Nguyen <danielnguyenh07@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

DCO Check Passed

Thanks @DanielNg0729, all your commits are properly signed off. 🎉

@mergify

mergify Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 1 of 2 protections blocking · waiting on 👀 reviews

Protection Waiting on
🔴 Require two reviewer for test updates 👀 reviews
🟢 Enforce conventional commit

🔴 Require two reviewer for test updates

Waiting for

  • #approved-reviews-by >= 2
This rule is failing.

When test data is updated, we require two reviewers

  • #approved-reviews-by >= 2

Show 1 satisfied protection

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?(!)?:

@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@cau-git

cau-git commented Jul 23, 2026

Copy link
Copy Markdown
Member

@DanielNg0729 I see your concerns with reproduction of ground-truth data on Windows. I will try to run your fork soon on a well supported OS.

Signed-off-by: Christoph Auer <cau@zurich.ibm.com>
@cau-git

cau-git commented Jul 23, 2026

Copy link
Copy Markdown
Member

@DanielNg0729 updated the test GT in this PR. Please ignore the noise:

  • "orientation": "rot_0", is an irrelevant change not related to your change
  • binary differences in base64 encoded PNG data is irrelevant and platform-dependent
  • Any changes outside PDF GT data are irrelevant

What is left is only one actual change in tests/data/pdf/groundtruth/2203.01017v2.json, which correctly flips 3.a into a marker.

Conclusion: The changes on docling-ibm-models seem to do their job and no regressions are apparent.

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.

2 participants