Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.8 KiB
FAIL
-
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/check.rs:59— The reread comparison discards all whitespace, including literal whitespace inside code.Heading(3)ona `x\n y`‸\n===succeeds, changing the inline-code value fromx\n ytox y. The real MarkdownReader comparison also fails: this changes the code while merely changing the heading level. Preserve significant whitespace when joining the heading, or refuse asMisread; the verification must compare it instead of filtering it out. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/check.rs:38— The signature compares raw mdast nodes rather than the text and formats the component displays. InsertingRuleat<u>ab‸cd</u>succeeds with<u>ab\n\n---\n\ncd</u>, but MarkdownReader now renderscdwithout underline. Changing the first line of<u>a‸\nb</u>to a heading has the same loss. Likewise, splittingx:smile: ‸:smile:changes the second literal shortcode into an emoji. Verify the fragments through the same reader used for display, preserving its text and inline formats, or refuse the unsafe edit. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/quote.rs:93— Alert unwrapping strips the surviving body's significant indentation.Quotewith the caret incodein> [!NOTE]\n>\n> codesucceeds withcode, changing the alert's indented code block into a paragraph. An indented fenced block also changes its code value because only its opening line loses the indentation. Preserve the body's indentation relative to the removed quote, consistently across its lines, or refuse if its block kind and code value cannot survive. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/list.rs:214— Retyping identifies a fence from the code's literal contents after discarding its indentation.OrderedListon- ```lang‸writes1. ```lang: the original code value, three backticks followed bylang, becomes an empty fenced code block with languagelang. Determine whether the original block is fenced from its source structure and indentation, not whether its content starts with backticks or tildes; retain the parsed code value. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/list.rs:220— Code padding counts every Unicode whitespace character's UTF-8 bytes as indentation, then leaves that character in the source as well. For-followed by five ASCII spaces, U+00A0, andcode,OrderedListadds two ASCII spaces to the parsed code value:\u{00A0}codebecomes\u{00A0}code. Count actual indentation in columns and preserve non-ASCII whitespace as code content; do not duplicate its byte length as spaces. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/list.rs:205— Removing a task checkbox can activate block syntax in the retained paragraph.BulletListon- [x] ---succeeds with- ---, which parses as a thematic break: both the list and its displayed text disappear.- [x] # hsimilarly becomes a heading inside the item. Escape the newly active opener or refuse the conversion, and verify that removing the checkbox preserves the child's text and block kind. List retyping does not preserve these by construction. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/list.rs:149— The continuation-line checkbox fix covers retyping but not unwrapping.TaskListon-\n [x] atoggles the task list off and produces[x] a, making the former checkbox literal paragraph text; the equivalent same-line task unwraps toa. Remove the parsed checkbox on its own physical line when unwrapping, as well as the list opener and continuation indentation. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/heading.rs:71— The new guard requires a parsed paragraph node even when the valid result is an empty paragraph.Paragraphon# ‸now returnsEditRefusal::Misreadinstead of removing the heading marks. Empty paragraphs have no mdast node, soblock_atnecessarily returnsNone. Recognize this valid empty result while continuing to reject results that actually reinterpret retained content. -
C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/documents/document/block/quote.rs:75— The same-line alert guard rejects safely removable markers that the existing alert reader decodes.> \[!NOTE]\n> ais recognized as an alert with bodya, butQuotenow returnsMisreadbecause the raw marker does not start with[!. Its marker occupies a physical line of its own; the decoded-newline refusal does not apply. Identify the marker using the reader's decoded interpretation and distinguish a marker-only line from a line that also contains body text.