Keep the decisions to their reasons and link the grammar; name the bare adf: fence's refusal exactly; call the doc panel a writer panel

This commit is contained in:
2026-10-03 15:13:30 +02:00
parent 230d590fb4
commit e4eecebeab
2 changed files with 33 additions and 40 deletions
+2 -2
View File
@@ -181,8 +181,8 @@ product). Block and inline positions canonicalize differently, each fitting wher
- **Block position**: a fenced code block with info string `adf:` and the node's type, body = the
node's JSON without its `type` — two-space indent, object keys sorted: ```` ```adf:blockCard ````.
A type no info string carries back, by the rule a `codeBlock`'s language follows, leaves the info
string `adf:` and keeps `type` in the body. A body holding `type` under a named type, or an
`adf:` fence whose type an info string carries, is a named error.
string `adf:` and keeps `type` in the body. A body holding `type` under a named type, or a bare
`adf:` fence whose body's `type` an info string could carry, is a named error.
- **Inline position**: `!adf:carry{json="…"}` — compact serialization (keys sorted, no whitespace),
JSON-string-escaped into the attribute.