This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

Three clauses of the attribution gate's fence matcher are not pinned by the corpus. Found by the ruthless review of iss-268, which ran a 31-mutant battery: (1) the marker-character TYPE restriction in fenceparse -- substituting 'if (c == "") return 0' keeps termination and leaves the corpus green, but --- *** ___ === runs then become fence delimiters, which is a real bypass direction; (2) the tab exclusion in sub(/^ +/, "", t) -- the comment asserts a tab-led line is not a fence, but allowing [ \t] leaves the corpus green; (3) blank()'s \t\r character set -- narrowing it to a plain space leaves the corpus green. All three are CORRECT as written; only the coverage is missing, and only the first has a bypass direction. Two smaller gaps from the same battery: the iss-270 list-item residual is pinned for '- ' items but not for '1. ' items (content column 3, also under the absolute limit, same class and same reproduction shape), and no case places a checkable line immediately after a fence closer, so a one-line over-strip at the boundary would pass the whole corpus. Note when adding cases for (1): deleting the marker-character line outright HANGS awk rather than failing a case, because on an empty line the character is the empty string and substr past the end also returns it, so the run counter never terminates -- a mode a pass/fail corpus cannot express, and the reason that line carries a termination comment.

issueresolvedminoriss-271

Three clauses of the attribution gate's fence matcher are not pinned by the corpus. Found by the ruthless review of iss-268, which ran a 31-mutant battery: (1) the marker-character TYPE restriction in fenceparse -- substituting 'if (c == "") return 0' keeps termination and leaves the corpus green, but --- *** ___ === runs then become fence delimiters, which is a real bypass direction; (2) the tab exclusion in sub(/^ +/, "", t) -- the comment asserts a tab-led line is not a fence, but allowing [ \t] leaves the corpus green; (3) blank()'s \t\r character set -- narrowing it to a plain space leaves the corpus green. All three are CORRECT as written; only the coverage is missing, and only the first has a bypass direction. Two smaller gaps from the same battery: the iss-270 list-item residual is pinned for '- ' items but not for '1. ' items (content column 3, also under the absolute limit, same class and same reproduction shape), and no case places a checkable line immediately after a fence closer, so a one-line over-strip at the boundary would pass the whole corpus. Note when adding cases for (1): deleting the marker-character line outright HANGS awk rather than failing a case, because on an empty line the character is the empty string and substr past the end also returns it, so the run counter never terminates -- a mode a pass/fail corpus cannot express, and the reason that line carries a termination comment.

Frontmatter

idiss-271
typeissue
lifecycleresolved
severityminor

mentions2