lilleman
|
23ec45febd
|
Give each markdown input its own reader: commonMarkToAdf, losslessMarkdownToAdf and portableMarkdownToAdf, each claiming only its flavour
|
2026-10-09 03:08:39 +02:00 |
|
lilleman
|
dfb3206d7e
|
Answer prose round 3: the decisions cite no removed item, the reader's comment is its bug link, item 83's tagline reads in order
|
2026-10-08 14:10:50 +02:00 |
|
lilleman
|
d7f2384876
|
Answer architecture round 1: the reader returns its refusals and owns its stack, a decision and a test keep JSON.parse out, item 83 filed, the scoring run recorded
|
2026-10-08 14:10:50 +02:00 |
|
lilleman
|
d7ba149b83
|
Answer stability round 1: read JSON with the library's own reader, since V8's JSON.parse misreads an escaped key
|
2026-10-08 14:10:50 +02:00 |
|
lilleman
|
bfe26dd438
|
Round-trip JSON keys holding a backslash, quote or control character, and generate them in the properties
|
2026-10-08 14:10:50 +02:00 |
|
lilleman
|
380a894589
|
Answer prose round 1: one name per thing in the new docs, the changelog points at MIGRATION's rows, item 82 drops its partial file list
|
2026-10-07 12:39:45 +02:00 |
|
lilleman
|
913aae49ea
|
Answer stability round 1: hand every not-a-string refusal its own position
|
2026-10-07 12:39:45 +02:00 |
|
lilleman
|
a62cd39809
|
Answer architecture round 2: rename isBareText to isSpellableText, say which link holdsLink counts, the README names the type passed
|
2026-10-07 12:39:45 +02:00 |
|
lilleman
|
41ac4510f5
|
Answer architecture round 1: name a non-string by typeof alone, name and comment what the seats could not read, file items 81 and 82
|
2026-10-07 12:39:45 +02:00 |
|
lilleman
|
2c4fadbd8b
|
Refuse a markdown input that is not a string with not-a-string
|
2026-10-07 12:39:45 +02:00 |
|
lilleman
|
51b9272350
|
Answer prose round 2: item 80 says what it names, the comment names its writer
|
2026-10-05 01:07:55 +02:00 |
|
lilleman
|
0cdc56a56f
|
Answer stability round 1: accept a plain object from another realm
|
2026-10-05 01:07:55 +02:00 |
|
lilleman
|
7da3c1fbbe
|
Refuse an attribute value JSON does not hold, and push a folded callout's title leaves one at a time
|
2026-10-05 01:07:55 +02:00 |
|
lilleman
|
1b55e0f528
|
Answer prose round 3: the comments on highlight pairing, escaped backtick lengths and the memo read once, and the Raw HTML paragraph loses its half clause
|
2026-10-04 23:36:47 +02:00 |
|
lilleman
|
1ff27164f8
|
Answer architecture round 2: the spelling memo, headroom and the escaped backtick lengths state their rule at the code, and the highlight counter is named for what it counts
|
2026-10-04 23:36:47 +02:00 |
|
lilleman
|
640772bc0f
|
Answer prose round 2: the edge-whitespace comment names the real spelling, the Raw HTML paragraph loses its half clause, items 75 and 77 read once
|
2026-10-04 23:36:47 +02:00 |
|
lilleman
|
e4435008ac
|
Answer architecture round 1: the publish job's write token reaches only the tag push, publishing names main, and the audit's other findings are filed
|
2026-10-04 23:36:47 +02:00 |
|
lilleman
|
88ec96556c
|
Answer architecture round 1: the comments the panel found as bare spec pointers state their rule, and the spec cites no plan item
|
2026-10-04 23:36:47 +02:00 |
|
lilleman
|
0e791bfb8f
|
Answer prose round 1: the plain bullet ties the drop to what a reader sees, and the editor-normal comments read once
|
2026-10-04 22:28:14 +02:00 |
|
lilleman
|
0c8651c3eb
|
Rank discoverability third among the goals, plan the move to GitHub and the outreach, and drop a text node's content in plain
|
2026-10-04 22:24:52 +02:00 |
|
lilleman
|
ac47f7e0d3
|
Answer prose round 2: the slot rule gives the decided reason, and the touched paragraphs rewrap
|
2026-10-04 21:11:18 +02:00 |
|
lilleman
|
e81e0560a5
|
Answer prose round 1: the refusal list lives in the error row, the slot rule gives its reason, and stale item citations go
|
2026-10-04 21:09:51 +02:00 |
|
lilleman
|
ebdffcf715
|
Answer stability round 2: the carries comment names the carries it decides
|
2026-10-04 21:09:51 +02:00 |
|
lilleman
|
cfd8e7d823
|
Answer stability round 1: carries() decides every leaf carry up front, so the line is emitted once
|
2026-10-04 21:04:57 +02:00 |
|
lilleman
|
0bc086ba43
|
Answer architecture round 1: a code span opening a line spells as CommonMark, the slot refuses a null character, every generated document emits
|
2026-10-04 20:43:46 +02:00 |
|
lilleman
|
e040d1d3ef
|
Spell every document the emitter refused for a carriage return, a null character, a code-span line start or an empty text node
|
2026-10-04 20:29:29 +02:00 |
|
lilleman
|
95e1ccc4c1
|
Record the guards' input boundary and Goal 8's size as JSON, and drop the hardening past it
|
2026-10-04 19:18:55 +02:00 |
|
lilleman
|
576e1641f9
|
Answer stability round 3: walk an array's elements as the guards do
|
2026-10-04 17:18:03 +02:00 |
|
lilleman
|
fd620b4975
|
Answer stability round 2: refuse a node or mark holding a key it does not own
|
2026-10-04 17:12:46 +02:00 |
|
lilleman
|
3c73a23689
|
Answer product-owner round 1: name the cycle in its own message and in the error table
|
2026-10-04 17:03:21 +02:00 |
|
lilleman
|
7d1412307b
|
Answer security round 1: clean
|
2026-10-04 17:03:21 +02:00 |
|
lilleman
|
7be73254ea
|
Refuse a cyclic input as not-an-adf-document
|
2026-10-04 16:57:51 +02:00 |
|
lilleman
|
bc4b65501b
|
Reword the isBareText and adfNodes comments
|
2026-10-03 17:52:56 +02:00 |
|
lilleman
|
147fd21049
|
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)
|
2026-10-03 17:52:52 +02:00 |
|
lilleman
|
460f728a0f
|
Keep an empty doc content in editor-normal ADF, as the schema requires
|
2026-10-03 16:22:54 +02:00 |
|
lilleman
|
ead2e7f4b7
|
Give the unmarked bare text check and the text-holding-content refusal one owner each
|
2026-10-03 16:22:19 +02:00 |
|
lilleman
|
85f1063c7b
|
Name the reader's own-marks items for what they hold, and drop the carry flag the items already say
|
2026-10-03 16:21:49 +02:00 |
|
lilleman
|
890ae4ef15
|
Keep near-miss text pairs apart in the property harness: merge only what the reader joins
|
2026-10-03 16:21:06 +02:00 |
|
lilleman
|
c3ac8edb76
|
Hold the editor's join rule in plain/editor-normal.ts as the reader's over editor-normal forms
|
2026-10-03 16:19:55 +02:00 |
|
lilleman
|
72f919ae04
|
Rename isPlainText to isBareText, apart from the plain flavour, and say truly what it admits
|
2026-10-03 16:19:09 +02:00 |
|
lilleman
|
95bad0ff90
|
Prose round 3: retitle the floor decision, put the plain/ exception first, sharpen items 59-62
|
2026-10-03 16:11:56 +02:00 |
|
lilleman
|
410665e2d3
|
Name the emitter's block walk PlacedBlocks, apart from the parser's Walk
|
2026-10-03 15:52:43 +02:00 |
|
lilleman
|
84a0750397
|
Keep 'carry' for the opaque carry: holdsOnlyAttributes, spellEdgeWhitespace, bothCommonMark
|
2026-10-03 15:52:19 +02:00 |
|
lilleman
|
4e6a4b5ac4
|
Name the two text-joining rules for whose rule they are, side by side in adjacent-text.ts
|
2026-10-03 15:51:41 +02:00 |
|
lilleman
|
acc8227598
|
Gather the plain flavour's code in markdown/plain/
|
2026-10-03 15:50:24 +02:00 |
|
lilleman
|
a71c98babd
|
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
|
2026-10-03 15:17:53 +02:00 |
|
lilleman
|
4409d5befc
|
Reword the attrs=empty and language-placement refusals, quoting a language that needs it
|
2026-10-03 15:17:40 +02:00 |
|
lilleman
|
af98e9cbdc
|
Trim two comments
|
2026-10-03 15:12:54 +02:00 |
|
lilleman
|
91879d01b1
|
Lead the code block, empty-key, carry fence, text break and carry-in-mark refusals with their fix
|
2026-10-03 15:12:51 +02:00 |
|
lilleman
|
1d6a6b0914
|
Name the code block wrapper in the two carry-fence refusals that lacked it
|
2026-10-03 15:05:51 +02:00 |
|