From 057729f830bdf690d7f3be2e7248f789c74c7eaa Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Sun, 20 Sep 2026 17:59:34 +0200 Subject: [PATCH] Prose pass: the guard's comment goes, and one spelling states the coverage bar --- AGENTS.md | 5 ++--- src/markdown/emit/inline-line.ts | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 9952a7e..3481522 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -208,7 +208,7 @@ wide `Result`, since half their refusals come from an emit stage that read no Test for the behaviour wanted first, then implement until green. `node --test`, beside the code. Node, tsc and npm never run on the host โ€” only via the pinned images (ยง9). Tests are independent, -coverage does not decline, containers are torn down after a run. +containers are torn down after a run. The gate runs that same suite under Deno and Bun as well as Node, the three images pinned alike, and neither extra leg is Node's proof twice. Deno refuses an extensionless or directory specifier, @@ -315,8 +315,7 @@ someone spells it or pins it. is owed. A walk pushes one at a time. A literal spread (`[...value]`) is not the same thing and is fine (4c). - A loop retrying an input until a fallback spells it refuses the pass taking no fallback, so its - termination is the loop's own check rather than an argument every give-way site has to honour - (28). + termination is the loop's own check (28). - A reader takes the text and an index โ€” a sticky regex whose `lastIndex` the caller sets on the line before it reads, `indexOf` โ€” never a fresh slice per character, and a per-character walk hoists the scan that does not vary with the character. The pipeline persona feeds documents diff --git a/src/markdown/emit/inline-line.ts b/src/markdown/emit/inline-line.ts index ac12980..5872a9a 100644 --- a/src/markdown/emit/inline-line.ts +++ b/src/markdown/emit/inline-line.ts @@ -82,7 +82,6 @@ function emitLine(nodes: readonly AdfNode[], container: LineContainer, path: Con } } -// A pass taking no fallback re-emits the line it just emitted, so refusing loses no spelling. function takeFallback(fallbacks: LineFallbacks, fallback: NodeRange | 'opening-link', path: ConvertErrorPath): Result { if (fallback === 'opening-link') { if (fallbacks.openingLinkAsDirective) return failure('unsupported-node-shape', 'an opening link spelled as a directive still reads as a link definition, so the line has no spelling left', path)