Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesskunk-ape

Relationships

↔ sibling #3153

#3846 invalid-acceptance refuses an apostrophe in a swamp-quality-ignore reason and leaves the finding unresolved

Opened by reset · 10/23/2026· Shipped 10/26/2026

On 20261020.024627.0-sha.26dc044f (macOS 27), the comment // swamp-quality-ignore deno-command: butler is itch.io's documented upload tool makes swamp extension quality fail with invalid-acceptance ... the reason may not contain a quote character, and the deno-command warning the comment was meant to accept is reported as unresolved beside it. The apostrophe in itch.io's is the refused character.

Source: src/domain/extensions/extension_acceptances.ts:340, if (/["']/.test(reason)) return "the reason may not contain a quote character", with the comment that a quote "could make a string's text read as a comment". The publishing reference states the rule ("in source files may not contain a quote character, Deno.Command(` or a base64 run"), so this is about the rule itself and the error, not missing documentation.

Expected: an apostrophe in an English reason is accepted, or the error names the three refused characters and shows the corrected comment in its remediation. Actual: the reason is refused with "a quote character", the user has to guess that ' counts, and the finding stays open until the reason is reworded.

Steps to reproduce:

  1. In an extension that has a deno-command finding, put // swamp-quality-ignore deno-command: the tool's documented upload path on the finding's line.
  2. swamp extension quality <manifest>: invalid-acceptance naming the comment, plus the original deno-command warning.

Prior: #3153 (open) is the sibling: an apostrophe in an earlier comment on the same line makes the directive silently ignored, and its notes say the quote scan needs real tokenisation. The same tokeniser would let a reason carry an apostrophe safely.

Suggestion: allow ' in reasons once directives are found by tokenising the line (linked to #3153), or until then name ", ' and the backtick in the error and append the reworded comment as the remediation.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 6 MOREREVIEW+ 6 MOREPR_LINKED+ 2 MORESESSION_SUMMARIZED

Shipped

10/26/2026, 8:08:20 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape10/26/2026, 6:48:38 PM
skunk-ape linked sibling of #315310/26/2026, 6:58:01 PM
Editable. Press Enter to edit.

skunk-ape commented 10/26/2026, 8:08:38 PM

Thanks @reset for reporting this! We shipped: Read swamp-quality-ignore directives in source files from Babel comment tokens instead of scanning lines for quote characters. A quote in a reason becomes harmless and is accepted (3846); a directive after an earlier comment holding an apostrophe is found (3153); keyword text in a string, template or regex literal is never a directive (the #3107 regex trap). A source file that does not parse accepts no directives and reports each as invalid-acceptance saying the file does not parse. The safety analyzer's long-line discount uses the same token-derived spans, and commentSites decides source sites from its one parse. Markdown parsing is unchanged; the rubric scorer is untouched.. The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.