3
0
mirror of https://github.com/larvit/adf-codec.git synced 2026-11-13 04:08:29 +01:00
Commit Graph

316 Commits

Author SHA1 Message Date
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 4454aaca92 Answer architecture round 2: the decision's title states it whole, an image's title drops inside a link, the readers refuse nesting past 500 levels, one owner for the empty-alt rule 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 6a1229cee0 Answer prose round 1: the parsing codes list each reader, the CommonMark guarantee splits into three bullets, the migration row and two decisions read once 2026-10-09 03:08:39 +02:00
lilleman a821d0e97d Answer stability round 1: every reader names unsupported-nesting-depth, Flavour stays file-local; product-owner round 1: model markdown reads in portableMarkdownToAdf, the migration rows say what each reader builds, each code names its readers, item 84 filed 2026-10-09 03:08:39 +02:00
lilleman f310a437e2 Answer architecture round 2: the claims type keeps directives apart from alerts and highlights, two paragraphs reflowed 2026-10-09 03:08:39 +02:00
lilleman 4d5f83459f Answer architecture round 1: the claims type pins what every writer spells, the HTML calls take flavour names, model-written GFM reads in portableMarkdownToAdf 2026-10-09 03:08:39 +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 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