You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Markdown files don't get file headers. A default repo-wide run correctly skips .md. But naming a Markdown file with --input processes it anyway, and writes a JavaScript /** … */ block at the top.
In Markdown that comment renders as visible text. It's also a trap in normal use: the per-version changelog (docs/changelog/vX/vX.Y.Z.md) becomes the release PR body and the GitHub Release notes, so a header there would ship in the release notes. During the 2026-10-03 release-docs sweep (CLDMV/uuid#53, CLDMV/droidsock#60, CLDMV/wisp#32, CLDMV/stubborn-tcp#7, CLDMV/mxnet-control#8), every agent had to skip the tool on new .md files for this reason.
Expected
.md files are never given a header unless the caller explicitly forces it, through a dedicated option or config setting. Merely passing the file via --input must not count as forcing. With --input, a non-forced .md file is reported as skipped, not "updated".
When a header is forced on Markdown, it uses Markdown-safe syntax (an HTML comment, <!-- … -->), never a JS block comment.
Problem
Markdown files don't get file headers. A default repo-wide run correctly skips
.md. But naming a Markdown file with--inputprocesses it anyway, and writes a JavaScript/** … */block at the top.Reproduced on
@cldmv/fix-headers@2.1.3:In Markdown that comment renders as visible text. It's also a trap in normal use: the per-version changelog (
docs/changelog/vX/vX.Y.Z.md) becomes the release PR body and the GitHub Release notes, so a header there would ship in the release notes. During the 2026-10-03 release-docs sweep (CLDMV/uuid#53, CLDMV/droidsock#60, CLDMV/wisp#32, CLDMV/stubborn-tcp#7, CLDMV/mxnet-control#8), every agent had to skip the tool on new.mdfiles for this reason.Expected
.mdfiles are never given a header unless the caller explicitly forces it, through a dedicated option or config setting. Merely passing the file via--inputmust not count as forcing. With--input, a non-forced.mdfile is reported as skipped, not "updated".<!-- … -->), never a JS block comment..jsonfile inserts a JS comment header and breaks the JSON #120: never write a comment into it.Tests
.mduntouched (already true; keep it covered).--input <file>.mdwithout the force option: file unchanged, reported as skipped.Related: #120 (JSON), #119 (repeated
--input).