style: тексты без слов-двойников Unicode #145

Merged
grachevko merged 179 commits from style/comments-without-ambiguous-runes into main 2026-09-23 18:47:13 +00:00
Collaborator

Что и зачем

Forgejo в диффах подсвечивает строки, где встречаются слова целиком из букв-двойников ASCII — под английской локалью зрителя (_default) это а б г е о р с у х и заглавные А В Е З К М Н О Р С Т У Ь, плюс всегда ×, типографские апострофы ’, полноширинные знаки и дефис – (U+2013). Подсветка срабатывает на СЛОВО, а не на букву: «сборка» чистая (в слове есть буквы без двойника), а предлог «с», союз «а», «его», «оба», «со», «Тег», «НЕ», «На» — нет.

Этот MR убирает такие слова из текстов репозитория целиком: 169 файлов, 808 строк. Один коммит.

Что именно правилось

Только текст:

  • комментарии # в YAML и // в JSON5 и во встроенных скриптах;
  • проза в markdown: README.md, AGENTS.md;
  • два сообщения в лог (echo) в скриптах: vault/mod.just, kubernetes/apps/tandoor/mcp/app/mcpserver.yaml;
  • одно поле description у MCPGroup — проза объекта, не ключ;
  • заодно убраны притяжательные с апострофом после латиницы (kubelet'а, Secret'е, reloader'а, Flux'а, Job'а) — апостроф режет токен, и после него оставалась одна буква-двойник.

Код, ключи, значения, имена объектов, отступы и порядок строк не менялись.

Проверки

  • Слов-двойников нет ни в одной строке репозитория: скриптом-чекером по таблицам _default и ru пройдены все 383 текстовых файла, exit 0.
  • Байтовая доставка: в ветке 169 из 169 файлов совпадают с локальным эталоном по git-blob-SHA (сверка через git ls-tree -r), git diff от main — ровно 169 M, 808 вставок / 808 удалений, без новых и удалённых файлов.
  • flate test all -p ./kubernetes/flux/cluster — 125 passed.

Куда смотреть глазами при ревью (формулировки изменились, смысл — нет)

  • .github/workflows/flate.yaml: «в 1.27.0 его нет … и его чек навсегда висит» → «в 1.27.0 такой функции нет … чек по нему висит навсегда»;
  • kubernetes/apps/ai/namespace.yaml: правило «MCP рядом с ПО» → «правило соседства MCP и ПО» (ссылок на точную формулировку в репо нет);
  • README.md: эмодзи в заголовке ➕ → 🆕 (у остальных заголовков тоже эмодзи, анкор не менялся); you’re → you're;
  • kubernetes/apps/grachevko/virtual-mcp/app/mcpgroup.yaml: description — «Набор инструментов hermes…» → «Инструменты hermes…»;
  • сообщения в логах (vault/mod.just, tandoor/mcp): текст переписан, сравниваемых значений нет, только вывод человеку.

Прочие варианты закрыть это вообще

  1. Сменить язык учётки в Forgejo на русский — тогда считаются буквы только по таблице ru (обычные русские буквы в неё не входят).
  2. На инстансе: [ui] SKIP_ESCAPE_CONTEXTS = diff,file-view — подсветка в диффах и файлах выключится для всех.
  3. Этот MR — если хочешь, чтобы тексты были чистыми при любой локали зрителя.
## Что и зачем Forgejo в диффах подсвечивает строки, где встречаются слова целиком из букв-двойников ASCII — под английской локалью зрителя (`_default`) это `а б г е о р с у х` и заглавные `А В Е З К М Н О Р С Т У Ь`, плюс всегда `×`, типографские апострофы `’`, полноширинные знаки и дефис `–` (U+2013). Подсветка срабатывает на СЛОВО, а не на букву: «сборка» чистая (в слове есть буквы без двойника), а предлог «с», союз «а», «его», «оба», «со», «Тег», «НЕ», «На» — нет. Этот MR убирает такие слова из текстов репозитория целиком: 169 файлов, 808 строк. Один коммит. ## Что именно правилось Только текст: - комментарии `#` в YAML и `//` в JSON5 и во встроенных скриптах; - проза в markdown: `README.md`, `AGENTS.md`; - два сообщения в лог (`echo`) в скриптах: `vault/mod.just`, `kubernetes/apps/tandoor/mcp/app/mcpserver.yaml`; - одно поле `description` у MCPGroup — проза объекта, не ключ; - заодно убраны притяжательные с апострофом после латиницы (`kubelet'а`, `Secret'е`, `reloader'а`, `Flux'а`, `Job'а`) — апостроф режет токен, и после него оставалась одна буква-двойник. Код, ключи, значения, имена объектов, отступы и порядок строк не менялись. ## Проверки - Слов-двойников нет ни в одной строке репозитория: скриптом-чекером по таблицам `_default` и `ru` пройдены все 383 текстовых файла, exit 0. - Байтовая доставка: в ветке 169 из 169 файлов совпадают с локальным эталоном по git-blob-SHA (сверка через `git ls-tree -r`), `git diff` от main — ровно 169 M, 808 вставок / 808 удалений, без новых и удалённых файлов. - `flate test all -p ./kubernetes/flux/cluster` — 125 passed. ## Куда смотреть глазами при ревью (формулировки изменились, смысл — нет) - `.github/workflows/flate.yaml`: «в 1.27.0 его нет … и его чек навсегда висит» → «в 1.27.0 такой функции нет … чек по нему висит навсегда»; - `kubernetes/apps/ai/namespace.yaml`: правило «MCP рядом с ПО» → «правило соседства MCP и ПО» (ссылок на точную формулировку в репо нет); - `README.md`: эмодзи в заголовке `➕` → `🆕` (у остальных заголовков тоже эмодзи, анкор не менялся); `you’re` → `you're`; - `kubernetes/apps/grachevko/virtual-mcp/app/mcpgroup.yaml`: `description` — «Набор инструментов hermes…» → «Инструменты hermes…»; - сообщения в логах (`vault/mod.just`, `tandoor/mcp`): текст переписан, сравниваемых значений нет, только вывод человеку. ## Прочие варианты закрыть это вообще 1. Сменить язык учётки в Forgejo на русский — тогда считаются буквы только по таблице `ru` (обычные русские буквы в неё не входят). 2. На инстансе: `[ui] SKIP_ESCAPE_CONTEXTS = diff,file-view` — подсветка в диффах и файлах выключится для всех. 3. Этот MR — если хочешь, чтобы тексты были чистыми при любой локали зрителя.
style: убрать слова-двойники Unicode из комментариев и прозы
All checks were successful
Flate / Flate - Filter (pull_request) Successful in 6s
Flate / Flate (pull_request) Successful in 28s
Flate / Flate - Success (pull_request) Successful in 4s
6e059c95b8
grachevko deleted branch style/comments-without-ambiguous-runes 2026-09-23 18:47:13 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
grachevko/home-ops!145
No description provided.