Spell every document the emitter refused for a carriage return, a null character, a code-span line start or an empty text node #160

Merged
lilleman merged 11 commits from spell-every-refusal into main 2026-10-04 21:13:54 +02:00
3 changed files with 7 additions and 6 deletions
Showing only changes of commit 63e0e1dd52 - Show all commits
+2 -1
View File
@@ -63,7 +63,8 @@ Markdown the spelling table leaves alone, which `0.2.0` reads as a different doc
### Error codes
`unspellable-character`, `unspellable-line-start` and `unspellable-link` leave `ConvertErrorCode`:
a `switch` naming one stops compiling, and the document it named converts.
a `switch` naming one stops compiling. The document a removed code named on emit converts; the
markdown it named on parse refuses with the code the table gives.
| Input | `0.1.0` | `0.2.0` |
| --- | --- | --- |
+1 -1
View File
@@ -196,7 +196,7 @@ emit refuses:
| Code | Fires when | What you can do |
| --- | --- | --- |
| `unsupported-nesting-depth` | blocks, marks, an attribute's JSON or a carried node's JSON nest past 500 levels | keep the ADF and pass the document over, or show it read-only; flatten the input where you are the one who wrote it |
| `unsupported-node-shape` | a node carries an attribute, value, argument or body its type does not take, or lacks one it needs — or markdown writes as a directive a node or mark the lossless flavour spells as CommonMark, or a reserved directive stands out of place: `!adf:textBreak{}` or `!adf:listBreak` parting nothing, `!adf:doc` anywhere but as the whole document | fix what the message names; `spec/flavour.md` lists every type's attributes and body |
| `unsupported-node-shape` | parsing: markdown spells a node with an attribute, value, argument or body its type does not take, or without one it needs, writes as a directive a node or mark the lossless flavour spells as CommonMark, or puts a reserved directive out of place: `!adf:textBreak{}` or `!adf:listBreak` parting nothing, `!adf:doc` anywhere but as the whole document. Emitting: a node "Not every document converts back" below names | fix what the message names; `spec/flavour.md` lists every type's attributes and body |
## The guarantees
+4 -4
View File
@@ -500,11 +500,11 @@ maintainer.
| Seat | Navigation | Locality | Shape | Self-sufficiency | Overall |
|---|---|---|---|---|---|
| Junior | 7 | 5.5 | 6.5 | 5.5 | 6 |
| Mid | 7 | 5.5 | 6.5 | 5.5 | 6 |
| Junior | 7 | 5.5 | 6.5 | 6 | 6 |
| Mid | 7 | 5.5 | 6.5 | 6 | 6 |
| Senior | 7 | 5.5 | 6.5 | 5.5 | 6 |
| Architect | 6.5 | 5.5 | 6 | 6.5 | 6 |
| Mean | 6.88 | 5.50 | 6.38 | 5.75 | 6.00 |
| Architect | 7 | 5.5 | 6 | 6 | 6 |
| Mean | 7.00 | 5.50 | 6.38 | 5.88 | 6.00 |
Three panels on near-identical code scored overall means of 5.88, 5.75 and 5.75, and a seat moves
±0.5 between runs.