55c6f01517
Answer prose round 2: item 47 marks the README's current opening as today's
lilleman2026-10-04 22:29:53 +02:00
8a27cb52d8
Answer product-owner round 2: item 72 drops the npm token for the trusted publisher
lilleman2026-10-04 22:29:43 +02:00
730bf88da7
Answer prose round 2: item 72 names the entries it revises and the publishing change, item 47 opens with what it lands after
lilleman2026-10-04 22:29:43 +02:00
db4599837c
Answer prose round 1: the plain bullet ties the drop to what a reader sees, and the editor-normal comments read once
lilleman2026-10-04 22:28:14 +02:00
b36f6fbeef
Answer product-owner round 1: the README opener and bundle size move to 0.2.0, the comparison and announcement wait for them, and the GitHub move carries issues, releases and trusted publishing
lilleman2026-10-04 22:28:14 +02:00
be54d24dc0
Answer stability round 1: item 33 returns as a defect, and item 42 takes the same mark
lilleman2026-10-04 22:28:14 +02:00
e844943d46
Rank discoverability third among the goals, plan the move to GitHub and the outreach, and drop a text node's content in plain
lilleman2026-10-04 22:24:52 +02:00
7dd3ef0b24
Answer prose round 2: the slot rule gives the decided reason, and the touched paragraphs rewrap
lilleman2026-10-04 21:11:18 +02:00
03dbc46763
Answer product-owner round 3: item 68 points at the error row that lists the shapes
lilleman2026-10-04 21:11:18 +02:00
04931ab35a
Answer prose round 1: the refusal list lives in the error row, the slot rule gives its reason, and stale item citations go
lilleman2026-10-04 21:09:51 +02:00
bb83888d8f
Answer stability round 2: the carries comment names the carries it decides
lilleman2026-10-04 21:09:51 +02:00
a0e4247cfd
Answer product-owner round 1: the migration row names what 0.1.0 refused, item 69 asks about a text node's content in plain
lilleman2026-10-04 21:04:57 +02:00
b01dfd4b0b
Answer stability round 1: carries() decides every leaf carry up front, so the line is emitted once
lilleman2026-10-04 21:04:57 +02:00
63e0e1dd52
Answer architecture round 2: the error row and migration lead name each direction's causes
lilleman2026-10-04 20:48:17 +02:00
7b57c1edc8
Answer architecture round 1: a code span opening a line spells as CommonMark, the slot refuses a null character, every generated document emits
lilleman2026-10-04 20:43:46 +02:00
03f18ee17b
Spell every document the emitter refused for a carriage return, a null character, a code-span line start or an empty text node
lilleman2026-10-04 20:29:29 +02:00
8287a483db
Take round 5 as the comprehension baseline, and tighten four decision sentences
lilleman2026-10-03 17:53:13 +02:00
7b38eba29e
Reword the isBareText and adfNodes comments
lilleman2026-10-03 17:52:56 +02:00
ee9a7e7562
Join only content-free text nodes in editor-normal ADF, type checked first: adfToPlainMarkdown on 3,000 extension blocks of 200-key parameters 1,752-1,941 ms → 1,034-1,240 ms (1,018-1,283 ms at 608ef26)
lilleman2026-10-03 17:52:48 +02:00
317262b240
Say which emitter refuses which text node in item 55
lilleman2026-10-03 17:02:57 +02:00
eccfd12d2d
Cut the empty-key and -0 grammar from the decisions into the spec, and cite item 65 as what ends the image gap
lilleman2026-10-03 16:23:23 +02:00
7bab478729
Keep an empty doc content in editor-normal ADF, as the schema requires
lilleman2026-10-03 16:22:54 +02:00
00c89dd63b
Give the unmarked bare text check and the text-holding-content refusal one owner each
lilleman2026-10-03 16:22:19 +02:00
fd3452b124
Name the reader's own-marks items for what they hold, and drop the carry flag the items already say
lilleman2026-10-03 16:21:49 +02:00
d56e5b4f57
Keep near-miss text pairs apart in the property harness: merge only what the reader joins
lilleman2026-10-03 16:21:06 +02:00
36604b1e2b
Hold the editor's join rule in plain/editor-normal.ts as the reader's over editor-normal forms
lilleman2026-10-03 16:19:55 +02:00
1791542b3c
Rename isPlainText to isBareText, apart from the plain flavour, and say truly what it admits
lilleman2026-10-03 16:19:09 +02:00
f7d2eb6517
Widen item 56 to the inline scanner's Scan
lilleman2026-10-03 16:18:30 +02:00
79005f07be
File the round-4 goals audit's defects and widen items 55 and 62
lilleman2026-10-03 16:16:46 +02:00
7f67998c3b
Prose round 3: retitle the floor decision, put the plain/ exception first, sharpen items 59-62
lilleman2026-10-03 16:11:56 +02:00
b39525cad7
Ship under the comprehension floor with the panel's scores as the baseline, and file items 59-62 that end it
lilleman2026-10-03 15:53:25 +02:00
d0cb63fcf2
Name the emitter's block walk PlacedBlocks, apart from the parser's Walk
lilleman2026-10-03 15:52:43 +02:00
1d3a020926
Keep 'carry' for the opaque carry: holdsOnlyAttributes, spellEdgeWhitespace, bothCommonMark
lilleman2026-10-03 15:52:19 +02:00
4579f32fcd
Name the two text-joining rules for whose rule they are, side by side in adjacent-text.ts
lilleman2026-10-03 15:51:41 +02:00
6df17a7069
Gather the plain flavour's code in markdown/plain/
lilleman2026-10-03 15:50:24 +02:00
4349df9017
Final wording: the reserved-directive refusal row, the adf:-alone fence, the changelog's carry and scope, the developer panel, the migration's empty shape
lilleman2026-10-03 15:17:53 +02:00
d68f311a14
Reword the attrs=empty and language-placement refusals, quoting a language that needs it
lilleman2026-10-03 15:17:40 +02:00
a2c620da27
Define the writer panel, split the carry fence into its own changelog entry, and say how an adf: fence stays code
lilleman2026-10-03 15:13:50 +02:00
e4eecebeab
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
lilleman2026-10-03 15:13:30 +02:00
7846502a1a
Lead the code block, empty-key, carry fence, text break and carry-in-mark refusals with their fix
lilleman2026-10-03 15:12:51 +02:00
79d9b4db53
Keep the fence wrapper's code span on one line
lilleman2026-10-03 15:06:22 +02:00
912c5039aa
Rewrap the broken lines, and say plainly how an adf: fence stays code
lilleman2026-10-03 15:06:11 +02:00
fb78063f12
Name the code block wrapper in the two carry-fence refusals that lacked it
lilleman2026-10-03 15:05:51 +02:00
5cffe82dd5
Lead the refusals ordinary editing meets with the edit that fixes them
lilleman2026-10-03 15:05:36 +02:00
d9f2d325ca
Tell migrators an empty stored document gets content: [], and what an adf: fence refuses
lilleman2026-10-03 15:04:50 +02:00
419bbcb4f2
Say equality is deep over the document's JSON values
lilleman2026-10-03 15:04:44 +02:00
4d7e8c944c
Pin a code block holding content=empty beside its language
lilleman2026-10-03 15:04:35 +02:00
ff9bb7fab2
Inline the identity blocks() helper in the plain reader tests
lilleman2026-10-03 15:04:15 +02:00
5a7279059d
Drop the as const on the doc directive's attribute
lilleman2026-10-03 15:04:11 +02:00
0ac5dccf11
Pin the empty fence beside another as an error fixture
lilleman2026-10-03 15:04:04 +02:00
6fc0d6bba9
Refuse attrs=empty on a code block whose fences carry its language
lilleman2026-10-03 15:03:58 +02:00
423dcbbff5
File the audits' pre-existing findings, and mark item 43 cited by decisions
lilleman2026-10-03 14:47:57 +02:00
b9760d0af2
Name plainMarkdownToAdf in the empty-markdown changelog entry
lilleman2026-10-03 14:46:29 +02:00
d7ba8e6aae
Keep format knowledge out of mergeAdjacentText's comment
lilleman2026-10-03 14:46:29 +02:00
bba2fa409e
Drop empty keys in the property harness through emptyKeys
lilleman2026-10-03 14:46:29 +02:00
c3bc2eb572
Read a carry fence's type in one function
lilleman2026-10-03 14:45:48 +02:00
2700184e56
Spell the doc directive's content=none through spellAttributes from one constant
lilleman2026-10-03 14:45:28 +02:00
d9c3e4b349
Derive a block directive's empty content from its node, and let readEmptyKeys own the attrs=empty-stands-alone rule
lilleman2026-10-03 14:45:12 +02:00
2d02165702
Keep the browser leg on dist/index.js: tag -0 in the JSON it hands back
lilleman2026-10-03 14:44:14 +02:00
a565d49c24
Spell 'a text node holding its text and marks alone' once, as isPlainText
lilleman2026-10-03 14:44:00 +02:00
ade3997cfd
Hold a carried node's own marks on the item, not in a side set copies fall out of
lilleman2026-10-03 14:43:03 +02:00
31576bb824
Take the raw run's refusal path only where its code matches the editor-normal refusal
lilleman2026-10-03 14:41:42 +02:00
723c0e31ef
Name the adf: fence among the carve-outs, and the way a fence stays code in its errors
lilleman2026-10-03 14:41:30 +02:00
a5238e4fe5
Cite item 43 as what ends the CommonMark carve-outs and the adf: fence reservation
lilleman2026-10-03 14:40:31 +02:00
9f0f520afd
Give the comprehension panel its fill-ins
lilleman2026-10-03 14:34:28 +02:00
45f1bee94b
Set up every inline scan through one freshScan
lilleman2026-10-03 14:33:06 +02:00
20a191e7e9
Write the same plain markdown for documents the editor holds equal: normalize the reduction's input again, naming a refusal by the caller's document
lilleman2026-10-03 14:32:34 +02:00
3da45a9da7
File item 54: the source-parting decision misses an import parse/ takes from emit/
lilleman2026-10-03 14:23:13 +02:00