INNER CODE UNIT · Python
_leading_number
Laurent00TT/PharosRAG · src/chunker/core.py:142
def _leading_number(txt):
"""Parse a leading section/list number -> ('dotted', depth) | ('bare', value) | None.
Year-leading (2026 ...) is treated as not-a-number (review F1/F4)."""
m = NUM_RE.match(txt)
if not m:
return None
tok = m.group(1)
if YEAR_RE.match(tok.split(".")[0]):
return None
if "." in tok:
return ("dotted", tok.count(".") + 1)
if tok.isdigit():
return ("bare", int(tok))
return None
def heading_level(el: Element, doc_type, promote_bare=True):
"""text_level primary (free from parser). DOTTED numbering (2.1) always refines depth;