32 - a mark's attribute depth is counted from its value, the marks spelling refusing its own
CI / gate (push) Successful in 29s
CI / publish (push) Has been skipped

This commit is contained in:
2026-09-22 21:51:47 +02:00
parent 6944d505f1
commit 75791783d8
6 changed files with 35 additions and 25 deletions
+4 -4
View File
@@ -163,10 +163,10 @@ shape, and threading a path to the ninth — a malformed node anywhere in the tr
manual stack §11's no-recursion rule forces, whose empty half no input reaches. The message names
the violation instead. Depth is not one of the nine: `adfDocumentFault` returns the code with the
message, so an attribute value past 500 levels is `unsupported-nesting-depth` from the emitter as
it already is from the parser, both directions refusing the same value. A node's attribute is
counted from the value itself, never from the `attrs` object holding it; a mark's is counted three
levels in, because the block directive spells the whole mark set as one JSON attribute and the
parser reads the value at the bottom of array, mark and `attrs`. `isAdfDocument` is true for a depth fault:
it already is from the parser, both directions refusing the same value. An attribute, a node's or
a mark's, is counted from the value itself, never from the `attrs` object holding it; a spelling
nesting the value deeper — the block directive's marks attribute, three levels in, or the carry —
refuses in its own format, as that format's parser does. `isAdfDocument` is true for a depth fault:
a deep document is a document, as the 2000-level blocks and the 600-deep marks the guard already
waves through are, and depth is the walks' answer rather than the shape's. A non-finite number
stays parted where depth is joined: the parse says `unsupported-node-shape` because the markdown is