Skip to content

Scan a markdown copy wrapper wherever it sits - #4

Merged
simoncorry merged 1 commit into
mainfrom
matcher-inline-wrapper
Jul 31, 2026
Merged

Scan a markdown copy wrapper wherever it sits#4
simoncorry merged 1 commit into
mainfrom
matcher-inline-wrapper

Conversation

@simoncorry

Copy link
Copy Markdown
Owner

Summary

  • A ​```markdown fence is now scanned as prose wherever it appears, not only when it is the whole draft, so a handoff message with a lead-in sentence has its prose checked (the acceptance bar's named surface; a fresh-context grader disproved the old narrow behavior).
  • Length-based CommonMark nesting: a real code fence inside a wrapper is still skipped (handoffs use four backticks so three-backtick code nests). The whole-draft heuristic and its helper are removed; one code path.

Test plan

  • npm run check green (matcher fixtures rewritten for the generalized semantics; the blocking jargon gate re-scanned all committed prose with no new hits)

The outer-fence unwrap only fired when the ```markdown block was the
entire draft, so a handoff message in real chat (a lead-in sentence,
then the copy block) read the whole block as a code sample and skipped
its prose. A fresh-context grader caught it against the acceptance bar
that names that exact surface.

extractProseLines now walks a fence stack following CommonMark's length
nesting: a markdown/md fence opens a prose "wrapper" wherever it appears,
any other fence opens a "code" region, and a bare fence of matching
length closes. A real code fence inside a wrapper (handoffs use four
backticks so three-backtick code nests) is still skipped. The old
first-line/last-line whole-draft heuristic and its helper are gone; one
code path, no drift. To skip a genuine markdown sample, fence it as
plain code, not ```markdown.
@simoncorry
simoncorry merged commit ffce581 into main Jul 31, 2026
@simoncorry
simoncorry deleted the matcher-inline-wrapper branch July 31, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant