ci(docs): add a Korean prose style gate over the public docs#417
Merged
Conversation
The Korean style rules lived only in a local editing hook, so commits from machines without that hook (the path AI-styled prose and notation drift took into the repo before) reached main unchecked. Vendor the line-regex style linter into scripts/ko-style/ (engine + rule catalog; taxonomy after epoko77-ai/im-not-ai, MIT) and run it in the Doc Coverage job over the public documentation surface — docs/ minus maintainers, the READMEs, CONTRIBUTING — failing on S1/S2. The step also lints a generated fixture and requires it to FAIL, so a broken rule catalog cannot pass silently. The style guide itself is excluded: it has to quote the very anti-patterns it bans. New terminology rules encode the decisions recorded in korean-style-guide.md: 디렉터리/배지 spellings (S1), 컬럼→열, 리포트→보고서/제보, and the coined 정합화 (S2). Running the gate surfaced six live violations the manual pass had missed — 리포트 verb/noun uses in cli.ko.md, testing.ko.md, ai-model.ko.md and CONTRIBUTING.md, and one 디렉토리 in docker/README.md — fixed here.
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.
Why
The Korean style rules (translation-ese, notation, terminology) were enforced only by a local editing hook. Commits from other machines bypassed them entirely — the same path that previously let AI-styled prose and notation drift into the repo. The readability cleanup (#415) fixed the measured cases; this PR keeps them fixed.
What
scripts/ko-style/lint.mjs+patterns.json: self-contained line-regex linter (node stdlib only), scoped to the public docs surface —docs/minusmaintainers/, the READMEs,CONTRIBUTING.md. The changelog, license inventories, and the style guide itself (it must quote the anti-patterns it bans) are excluded. Rule taxonomy afterepoko77-ai/im-not-ai(MIT).korean-style-guide.md: 디렉터리/배지 spellings (S1), 컬럼→열, 리포트→보고서(문서)/제보(동사), coined 정합화 (S2).--no-baseline, fails on S1/S2) plus a self-test — it generates a fixture with known violations and requires the linter to fail on it, so a broken catalog cannot pass silently.cli.ko.md,testing.ko.md,ai-model.ko.md,CONTRIBUTING.md; one 디렉토리 indocker/README.md).Verification
node scripts/ko-style/lint.mjs --all --no-baseline— 65 files, 0 findingstests/check-docs-drift.sh,mkdocs build --strict— pass