This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

the raw heading soft bound does not match a CRLF blank line so an unclosed heading in a CRLF file reads its title over the rest of the document and travels

issueresolvedmajoriss-2608301421380392

the raw heading soft bound does not match a CRLF blank line so an unclosed heading in a CRLF file reads its title over the rest of the document and travels

Found by the round-10 adversarial ruthless review of build/itd-183. NOT introduced by this branch -- rawHeadingBoundRe carries the same blank-line alternative on the round-9 parent and before it. Recorded rather than chased under the ruling that round 10 closes only what the branch introduced.

The soft bound on a raw heading's text is \n[ \t]*\n, which a CRLF blank line does not match: its bytes are \r\n\r\n, and the \r falls outside the class. So an element that is never closed has no bound at all, its title is read over the rest of the document, and the slug names something else:

<h2>Audit Notes<CR><LF>
<CR><LF>
<sentinel><CR><LF>

Verified admitted; the byte-identical document with LF line endings refuses.

This is the same class round 10 closed for YAML keys -- a carriage return is whitespace to every reader of the file and is not in the scan's own class -- and it stays open on the heading side. Remedy: \n[ \t\r]*\n, or a normalisation of line endings before the heading scan. Seed material for the exclusion floor's own intent.

Grounds

  • pursued: we expect a carriage return in the blank-line class, and a refusal for an opener with no bound at all, to stop the title being read over the remainder in either line ending, because the soft bound is the sole bound an unclosed element has; a CRLF document whose excluded heading still travels, or an unbounded opener that still assembles, would show it wrong

Frontmatter

idiss-2608301421380392
typeissue
lifecycleresolved
severitymajor

mentions3