KNUCK-A041
KNUCK-A041: house-style banned-glyph gate -- reject arrows, checkmarks, Greek in PR body + commits
Suggested
Justin Cooke
Body
## Context Standing house-style rule (per Justin, memory): ASCII arrows only (`->`, `<-`, `+`, `x`, "sigma"), never Unicode arrows, checkmarks, or Greek glyphs. Rule is enforced in memos and generated docs but is NOT enforced on PR bodies or commit messages. PR #278's original body contained Unicode arrows on line 37; the agent claimed to have checked but had only checked the files, not the PR body surface. ## Acceptance Criteria - New CI check `no-banned-glyphs` - Runs on every PR; fetches the PR body via `gh pr view --json body` and inspects each commit message in the diff - Fails if any of these Unicode ranges appear (matching the existing memo-lint pattern): - Arrows: `\u2190-\u21FF` and heavy arrow forms - Check/x marks: `\u2713 \u2714 \u2717` - Greek lowercase alpha through omega: `\u03B1-\u03C9` - Suggested replacements are shown in the failure message: `->` for right arrow, `<-` for left arrow, `+` for check, `x` for cross, spelled Greek names for Greek glyphs - Escape hatch: PR label `banned-glyphs-quoted-content` for the rare legitimate case (quoting external content verbatim, e.g. a Slack message) - Ships as required check for `Operant-Health/operant-studio` and `Operant-Health/portico` ## Non-goals - Not modifying already-merged PRs - Not enforcing on external-author PRs (bots + human contributors from operant-health org only) ## Effort Single Ledger ticket. Blockers: none. ## Filed as follow-on to PR #278 (KNUCK-A007b1a). --- <!-- admission-rejected --> **Admission rejected (missing_feature_id):** ticket body is missing `feature_id: FEAT-...` frontmatter — declare which feature this ticket implements
Attachments
Loading attachments…
Comments
Loading comments…