fix(convert): preserve chapter numbers after headings - #23
Draft
cursor[bot] wants to merge 1 commit into
Draft
cursor[bot] wants to merge 1 commit into
cursor[bot] wants to merge 1 commit into
Conversation
Co-authored-by: Rainman <deusyu@users.noreply.github.com>
deusyu
force-pushed
the
cursor/critical-bug-investigation-7c34
branch
from
June 26, 2026 02:15
d09e637 to
ee64e89
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug and impact
Calibre cleanup treated any long monotonic sequence of standalone digit lines as page numbers. Books that render chapter/section numbers as a standalone line immediately after each Markdown heading (for example
## Chapter Onefollowed by1) lost those numbers during conversion, causing silent source-content loss before translation.Root cause
_detect_page_number_linescollected every standalone digit before running the LNDS page-number heuristic, without excluding digit lines that are structurally attached to a heading.Fix
Exclude standalone digit lines whose previous nonblank line is a Markdown heading from the page-number candidate sequence, while preserving the existing explicit
--strip-page-numbersbehavior and Calibre-noise adjacency cleanup.Validation
1-4cleaned down to no standalone numbers.1-4.python3 -m unittest tests.test_convert.CleanCalibreMarkersTests -v(11 tests)python3 -m unittest discover -s tests -p 'test_*.py' -v(206 tests, 3 skipped)python3 -m compileall scripts testsstandard-alice.epub: converted 38 chunks and generated HTML/DOCX/PDF; EPUB failed only with the documented Ubuntu Calibre 7.6.0 packaging bug.