Files
dev-skills/decisions/21-project-text-language.md
T
av bf6a173115 журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
2026-08-13 12:40:56 +03:00

6.1 KiB

21. Язык проектных текстов — информационный стиль (2026-08-04)

Что было

Языковые правила лежали внутри скилла tasks, в разделе «Как написана задача»: англицизмы, неизвестные термины, «сложность формулировки — не признак сложности работы». Три пункта, выведенные из практики, без общей опоры и без ответа на вопрос «а что ещё сюда относится».

Дал ссылку на чужой скилл prepare-jira-text — там раздел «Язык» с информационным стилем, таблицей англицизмов-калек и таблицей жаргона. Заодно попросил найти справку об информационном стиле Максима Ильяхова и адаптировать его.

Решено

Р89. У языка появился один дом — canon/references/language.md. Не в tasks, хотя пришёл он оттуда: правила относятся к документам канона, решениям ADR, запискам разведки и сообщениям коммитов в той же мере, что к задачам, а каталог задач и сам часть docs/. Раскладка отвечает, где текст лежит; этот файл — каким он должен быть. tasks/SKILL.md оставил у себя четыре правила, которые нарушаются чаще прочих, и ссылку.

Р90. Инфостиль взят не целиком, и отброшенное названо вслух. Он написан для рекламы, статей и писем — текстов, где читателя надо удержать; проектный текст читают потому, что надо. Взято: полезное действие, глагол вместо отглагольного существительного, активный залог, факт вместо оценки, стоп-слова, «одна мысль — одно предложение», параллельность, работающий заголовок. Отброшено: парцелляция (рубленые фразы ломают причинную связь, а в решении ценность именно в ней), запрет вводных целиком («если», «иначе», «в отличие от» — это условия, то есть сведения), запрет скобок и точки с запятой (в технической записи скобки несут уточнение — имя команды, единицы, слаг). Многоточие запрещено: в проектном тексте оно значит «дописать позже».

Раздел «Что отброшено намеренно» написан не для полноты. Без него правило читается как «пиши короче», и первый же агент начинает резать «поэтому» и «иначе» — то есть ровно то, ради чего текст и писался.

Р91. «Снять корону» переведено на здешнего читателя. У Ильяхова это «надеть корону на клиента». Здесь клиент — ты сам через квартал и тот, кто возьмёт задачу. Отсюда конкретное требование: называть состояние и остаток, а не пересказывать, как было интересно разбираться.

Р92. Таблицы англицизмов и жаргона уехали в агента помеченной копией. Устав агента обязан быть самодостаточным — он не разрешает пути плагина и не ходит по ссылкам, — а два дома у одного правила уже трижды расходились. Механизм для этого в репозитории есть (scripts/copies.py), и это ровно его случай: копия дословная и помеченная, проверка ловит расхождение.

Что из этого следует

С86. У агента вычитки правил стало двенадцать, и они разделены на две группы. «Форма записи» верна только для каталога задач, «язык» — для любого проектного текста. Разделение не косметическое: находки докладываются группами и в этом порядке, потому что форма меняет решение «брать или не брать», а язык — только цену чтения.

С87. Порог правки записан дважды и одинаково — в language.md и в уставе агента: правка без нарушенного правила не делается. Это единственная защита от списка, в котором половина замечаний вкусовые: такой список перестают читать целиком, и настоящие находки пропадают вместе с ним.

С88. Переезд на канон 3 языком ничего не требует. Шаг в changelog так и записан: прочитать и ничего не переписывать задним числом. Сплошная вычитка старых документов стоит дороже, чем даёт, а правила применяются к тому, что правится сейчас.