426b0d667a
chunk() reconstructs Chunk objects before _split_oversized/_as_dicts and was dropping page_number on the floor, so every chunk came out NULL regardless of what chunk_statute computed. Also flip _as_dicts to prefer the caller-supplied c.page_number (derived from the chunk's starting offset) over any marker that survived inside c.content — the latter can resolve to a later page when a section spans pages. Verified: ספר הליקויים chunks now carry page_number matching the PDF page where each section actually begins. Refs Task Master #2 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>