lilleman
|
3414c8690a
|
Answer architecture round 2: every builder joins its pieces through one bounded join, the readers take the engine guard, every refusal stands at the document's path, and a portable list's refusal names its own place
|
2026-10-13 01:30:12 +02:00 |
|
lilleman
|
e3aa790ec8
|
Refuse markdown past V8's longest string on every engine, before building it
|
2026-10-13 01:30:12 +02:00 |
|
lilleman
|
62d80a69b7
|
Answer prose round 1: the README says which refusal differs between engines, items 106 and 107 read one idea a sentence, and two test titles and a comment read on one pass
|
2026-10-11 21:05:07 +02:00 |
|
lilleman
|
a9331b4125
|
Return a result where a conversion's text would pass the engine's longest string
|
2026-10-11 21:05:07 +02:00 |
|
lilleman
|
580bc862f2
|
Write an external image a link marks as [](href) in both writers
|
2026-10-11 13:31:18 +02:00 |
|
lilleman
|
cc40fb95f2
|
Answer prose round 1: the README drops the parse-path sentence and the comments say what stands in and why
|
2026-10-11 12:13:51 +02:00 |
|
lilleman
|
a38b61347a
|
Report a refusal's path where the node stands once the task list moves it
|
2026-10-11 12:13:51 +02:00 |
|
lilleman
|
cea9137495
|
Answer prose round 1: the comments and test name say what ends a list, the README says because, the changelog leads with the rename and gives the definition's trigger, and items 56 and 98 state their claims plainly
|
2026-10-10 13:20:05 +02:00 |
|
lilleman
|
fcc6640f6e
|
Answer architecture round 2: a list definitions end joins a set of ended lists, which a named endList fills and openedList reads
|
2026-10-10 13:20:05 +02:00 |
|
lilleman
|
7d00b11b2c
|
Answer architecture round 1: closeLeaf records the block definitions end beside the blocks it pushes, openedList's comment names the exception, the README drops its counts, the changelog puts other changes last, and item 98 files the blank-line re-scan
|
2026-10-10 13:20:05 +02:00 |
|
lilleman
|
fa7f4ef987
|
Read two lists a link reference definition parts as two lists, and put the changelog's breaking entries first
|
2026-10-10 13:20:05 +02:00 |
|
lilleman
|
3741b9e5b3
|
Answer prose round 1: the comments say why, items 95, 96, 91 and 34 read in one pass, the floor's decision drops the rule CLAUDE.md holds, and item 97 files the changelog's order
|
2026-10-09 19:17:20 +02:00 |
|
lilleman
|
3e9c56d399
|
Answer architecture round 3: the comprehension floor's decision names item 95, the directive read takes its index from the claimed prefix, and only the claimed prefix leaves directive-syntax.ts
|
2026-10-09 19:17:20 +02:00 |
|
lilleman
|
af9b0d082c
|
Answer architecture round 2: the escape walk owns its escapes and names every token kind, a directive read takes the claimed prefix, the reader computes one end, imports sort, and item 96 covers unclosed backtick runs
|
2026-10-09 19:17:20 +02:00 |
|
lilleman
|
652ae60179
|
Answer architecture round 1: a token's width is true for every kind that carries one, the escape walk threads one record, the == step and the directive precondition say why, and item 96 files the inline HTML scan
|
2026-10-09 19:17:20 +02:00 |
|
lilleman
|
59ead3e8e9
|
Escape a line against the inline reader's own tokens, in time linear in a run
|
2026-10-09 19:17:20 +02:00 |
|
lilleman
|
167bf1ff9b
|
Answer prose round 1: the decision says right after and keeps only its reason, the README counts the link-definition exception, and the comments and spec say which list alternates
|
2026-10-09 15:39:13 +02:00 |
|
lilleman
|
559ad4ec3c
|
Answer architecture round 1: a * marker before a first line of * alone takes a backslash, the marker choice is a decision, the spec names which lists alternate, and the stale listBreak test goes
|
2026-10-09 15:39:13 +02:00 |
|
lilleman
|
40580e6948
|
Read a list whose bullet or ordered delimiter changes as two lists, and alternate the marker between adjacent lists in place of !adf:listBreak
|
2026-10-09 15:39:13 +02:00 |
|
lilleman
|
180840532d
|
Answer architecture round 2: itemParts takes one run of task lists over the item, the properties share blockTaskItemChildren, and readBlock's bullet case names who reads a task list first
|
2026-10-09 14:37:06 +02:00 |
|
lilleman
|
2e640ded91
|
Answer architecture round 1: splitTaskList groups a list into items, bulletBlocks returns the split blocks itself, isTaskItem lives in adf/, a property reads generated task lists through portableMarkdownToAdf, and items 56 and 93 name today's code
|
2026-10-09 14:37:06 +02:00 |
|
lilleman
|
cd6cb8bece
|
Answer prose round 1: a task item keeps the task lists right after its paragraphs nested, and the README, changelog, decision, comment, item 49 and a test title say it plainly
|
2026-10-09 14:37:06 +02:00 |
|
lilleman
|
67bdc3ca44
|
Answer stability round 1: a task list nested beside a task item of paragraphs stays nested when written, the property checks every block task item holds paragraphs alone, item 49 names the checkbox loss it closes, and item 93 files the stale refusal path
|
2026-10-09 14:37:06 +02:00 |
|
lilleman
|
654a960888
|
Stand a block a task item cannot hold after its task list, in portableMarkdownToAdf and adfToPortableMarkdown
|
2026-10-09 14:37:06 +02:00 |
|
lilleman
|
77a6806160
|
Answer architecture round 3: one joinsBreaks flag in place of the parted set and its retry loops, a directive link spells its break, and takesMarks names the table's field
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
e4364b19d0
|
Answer prose round 1: plainer decision title and spec, the refusal the spec owes, and comments that say why
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
06c225f8f4
|
Keep the hard breaks a link text holds alone, after its destination, and move item 89 to 0.2.1
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
852d010ff7
|
Answer product-owner round 1: an emphasis or link run spans an unmarked hard break, the recipe drops a hard break's marks, and the refusal names hard breaks
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
2ca5ac41e6
|
Answer architecture round 1: the node table says a hard break takes no marks, and a link text of hard breaks alone reads as its destination
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
3ff5c95f4c
|
Build a hardBreak carrying no marks where a mark spelling spans a line break, in every reader
|
2026-10-09 12:21:18 +02:00 |
|
lilleman
|
f7eb88ec1b
|
Answer architecture round 5: name the alert and callout markers by their spelling, and item 56 its functions
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
d677222050
|
Read an image alone on an alert's marker line or the lines after it as the image, as a reader panel expected; item 88 filed
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
ee3086ad1e
|
Answer prose round 1: one sentence per idea for the image readings, a decision title that states the rule, item 86 names its shapes
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
050364dbdc
|
Answer stability round 2: a link slot keeps a linked image linked, so the link-in-link refusal holds
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
d97c5c2935
|
Answer stability round 1: an !adf:link slot reads an image as plain alt text
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
3a41e9ccca
|
Answer architecture round 3: a link alone holding a titled image keeps its caption, and the decision's title names []()
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
88aef1c8c4
|
Answer architecture round 1: one owner for the image's ADF shape, the readings' decision, marker paragraphs, the exceptions the README names; items 87 filed and 56 widened
|
2026-10-09 10:49:08 +02:00 |
|
lilleman
|
3b621a9cef
|
Read every CommonMark image and empty link: an image ADF holds no node for as its linked alt text, a title as its caption, an empty link text as its destination
|
2026-10-09 10:49:08 +02:00 |
|
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
|
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
|
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
|
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
|
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 |
|