5b3: tick the item and move its text to the history
CI / gate (push) Successful in 9s

This commit is contained in:
2026-09-03 19:05:54 +02:00
parent d2ed9c8219
commit 9215c1cbdc
2 changed files with 27 additions and 18 deletions
+26
View File
@@ -429,3 +429,29 @@ Under **3 — `markdownToAdf` (`0.1.0`)**:
claimed — `\:::` on the directive line's, `\|` on the pipe table's, `\:` on the inline claimed — `\:::` on the directive line's, `\|` on the pipe table's, `\:` on the inline
directive's, the attribute-pair and unknown-name faults taking whichever form read them. directive's, the attribute-pair and unknown-name faults taking whichever form read them.
`a pipe table row holds 1 cells` gained its plural. `a pipe table row holds 1 cells` gained its plural.
- [x] **5b3 — The code list and the flavour's gaps.** A second read of the surface, this one on
the fifteen names §8 freezes at `0.1.0`: two pairs of them are one cause each, and one
names a state the flavour leaves no way out of. `unspellable-character` and the text half
of `unspellable-whitespace` are one refusal — a character CommonMark rewrites, the message
naming it — and merge, `unspellable-whitespace` keeping the code for its other cause, the
content slot no inline directive spans. `unspellable-link-destination` and
`unspellable-link-title` become `unspellable-link`, the message naming the attribute.
`unspellable-adjacent-lists` goes entirely: two adjacent `bulletList` nodes are valid ADF a
site writes, and refusing them leaves the viewer persona a document it cannot render at
all, so the flavour gains the separator that spells the pair apart, both directions,
`spec/flavour.md` and fixtures. Thirteen codes stand — `unspellable-whitespace` keeps its own.
The bare pipe table — `a | b` over `--- | ---`, GFM's shape without the leading pipes — is
the one input that loses structure silently, reading back as a paragraph of prose; it
becomes a `malformed-pipe-table` naming the form a row takes. That code keeps its name for
the alignment colon: the flavour's own delimiter row is `-` runs, so the grammar is what
refuses, and §8 records it rather than answering it again each review. The ninth
`adfDocumentFault` branch names no node and carries the document's own path, the one branch
the other eight outshine; §8 records why the guard stays a boolean.
`::listBreak` is the separator's spelling: the grammar's leaf form, and a second reserved
name beside `adf` — every other name is an ADF node or mark type, and this one builds none.
It reads only between two adjacent lists of one type, and takes the separation any
directive block takes where it sits, so a directive container holds it with no blank line.
A hard break is the one spelling that can put a bare delimiter row under a row of its own,
so the emitter escapes that line's first character rather than refusing the document.
`spec/flavour.md` had two directive blocks inside a container taking no blank line; the
rule both directions keep is that a pair holding one takes none.
+1 -18
View File
@@ -147,24 +147,7 @@ The numbering is the order the work was planned in, not the order it ships.
the freeze closes it. the freeze closes it.
- [x] **5b1 — The error's source position.** - [x] **5b1 — The error's source position.**
- [x] **5b2 — The error messages.** - [x] **5b2 — The error messages.**
- [ ] **5b3 — The code list and the flavour's gaps.** A second read of the surface, this one on - [x] **5b3 — The code list and the flavour's gaps.**
the fifteen names §8 freezes at `0.1.0`: two pairs of them are one cause each, and one
names a state the flavour leaves no way out of. `unspellable-character` and the text half
of `unspellable-whitespace` are one refusal — a character CommonMark rewrites, the message
naming it — and merge, `unspellable-whitespace` keeping the code for its other cause, the
content slot no inline directive spans. `unspellable-link-destination` and
`unspellable-link-title` become `unspellable-link`, the message naming the attribute.
`unspellable-adjacent-lists` goes entirely: two adjacent `bulletList` nodes are valid ADF a
site writes, and refusing them leaves the viewer persona a document it cannot render at
all, so the flavour gains the separator that spells the pair apart, both directions,
`spec/flavour.md` and fixtures. Thirteen codes stand — `unspellable-whitespace` keeps its own.
The bare pipe table — `a | b` over `--- | ---`, GFM's shape without the leading pipes — is
the one input that loses structure silently, reading back as a paragraph of prose; it
becomes a `malformed-pipe-table` naming the form a row takes. That code keeps its name for
the alignment colon: the flavour's own delimiter row is `-` runs, so the grammar is what
refuses, and §8 records it rather than answering it again each review. The ninth
`adfDocumentFault` branch names no node and carries the document's own path, the one branch
the other eight outshine; §8 records why the guard stays a boolean.
- [ ] **5b4 — The README's consumer surface.** §8 invites an exhaustive switch on `code` and no - [ ] **5b4 — The README's consumer surface.** §8 invites an exhaustive switch on `code` and no
code name appears in the README, so it gains a table — code, when it fires, what the code name appears in the README, so it gains a table — code, when it fires, what the
consumer does — grouped by direction, over the thirteen names 5b3 settled. Four things a consumer does — grouped by direction, over the thirteen names 5b3 settled. Four things a