Repository navigation
feat(patterns): add Claude 5.5 tell and hidden-character packs - #35
Merged
Merged
Conversation
stripCode blanks code spans, fences, HTML comments, and URLs before packs run, so no pack could see a backticked word. proseSpans now keeps the original span as raw, and styleFindings passes it to scanAiWriting as ctx.raw. Offsets match the scanned text.
Add three aiWriting categories, measured on 1.29M words of Opus 5.5 Claude Code replies against npm READMEs and pre-2023 commits: - claude-tells: artifact verbs, status-label tails, size words, vague path, trailing tags, user-note asides, earns its keep, a closing offer (closing-offer.json), and backticked branch names (backtick-branches.mjs, reads ctx.raw). Presets default, ryan, technical, all. - british-spelling: -our, -lled, -re, -ise, -yse forms and a few words. Presets ryan, all. - hidden-characters: zero-width, tag, and bidi characters, soft and non-breaking hyphens, narrow no-break spaces, chat citation residue. Presets default, ryan, technical, git, all. ai-attribution now flags the Claude-Session, Made-with: Cursor, and Agent-Logs-Url trailers. Four notes and one fixture that the new rows flag are reworded. Docs list 47 categories.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Behavior
Adds three aiWriting categories.
claude-tells(presets default, ryan, technical, all) flags Opus 5.5 and Sonnet 5.5 phrasing such asthe doc admits it,Existing bug, not a regression,on purpose,quietly, a closingDo you want me to ...?, and branch names in backticks.british-spelling(presets ryan, all) flags forms such asbehaviourandlabelled.hidden-characters(presets default, ryan, technical, git, all) flags zero-width, tag, and bidi characters, U+2011, U+202F, and chat citation residue.detectpacks now getctx.raw, the span before code spans and URLs are blanked, with matching offsets. The backtick check reads it.ai-attributionnow flags theClaude-Session,Made-with: Cursor, andAgent-Logs-Urltrailers. Four notes and one fixture that the new rows flag are reworded, and the docs list 47 categories.Evidence
The rows were measured on 1.29M words of Opus 5.5 Claude Code replies against 1.13M words of npm READMEs and 87K words of commit messages from before 2023. The phrase rows fire 0.64 times per 10,000 words in the replies and 0.04 in the READMEs. Anthropic's text watermark adds no characters, so no pack can detect it.
Checks
node scripts/check.mjs,node --test test/*.test.mjs(199 pass), andnode plugins/concise/test/run-tests.mjs(1,895 pass) ran withNODE_V8_COVERAGEset.node scripts/coverage.mjsreports 100% line coverage.render-patterns.mjs --checkandvalidate-packs.mjs(50 packs, 421 patterns) pass. The new rows were also checked through the concise MCPconcise_check_texttool in every scope.No migration. A project that writes British English or asks before every test run can list
british-spellingorclosing-offerinexcludePacks.