язык уехал в shared: дом вне плагинов, устав вычитки — копия целиком
Дом языка лежал в av-dev-pm/skills/canon/references/language.md — внутри одного скилла одного плагина. Пока плагин был один, это читалось как «дом рядом с главным потребителем». Разделение на самодостаточные docs и tasks превращает то же место в утверждение, что язык принадлежит канону: плагин задач, поставленный без канона, потерял бы правила письма вместе с ним. Дом переехал в shared/ и не принадлежит ни одному плагину, плагины везут дословные копии. Самодостаточность держится копией, а не ссылкой: shared/ нужен этому репозиторию, а не установленному плагину. Устав вычитки стал копией целиком. doc-wording копировал из дома англицизмы, словарь, жаргон и порог правки — четыре блока; девять правил он излагал своими словами, и эти слова с домом никто не сверял. Там дрейф и копился молча: в доме правило «одна мысль — одно предложение» требовало выносить придаточное, в уставе — не резать причинную связь, и каждая версия выглядела полной. Из десяти правил машина сверяла четыре, теперь сверяет все. Условие переезда: текст правил написан безлично, а всё, обращённое к проходу («пиши так-то», «про это молчи»), вынесено из блока в раздел «Что из этих правил докладывается особым образом». Правило принадлежит дому, способ доложить о нём — уставу. Блоков три, и делятся они по потребителю, а не по теме: язык-доктрина (зачем стиль, полезное действие, параллельность, заголовок, что отброшено), язык-правила (девять правил с тремя таблицами), порог-правки. Порог оставлен отдельным потому, что его берёт task-form, который правил языка не проверяет вовсе; вложенных блоков copies.py не знает, и внутри язык-правила забрать порог было бы нечем. Потребители собраны из дома скриптом, а не руками. Домов 6 вместо 7 — три таблицы слились в язык-правила; копий 9 вместо 8. Гейт зелёный: копии, фронтматтеры, диаграммы. Решение — 49. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -236,6 +236,7 @@ claude plugin uninstall <плагин>@av-dev-skills --scope project
|
||||
<plugin>/skills/<skill>/references/ что читается по ссылке из скилла
|
||||
<plugin>/skills/<skill>/scripts/ tasks.py, docs.py
|
||||
<plugin>/agents/ charter'ы сабагентов
|
||||
shared/ дома правил, общих для нескольких плагинов
|
||||
scripts/ проверки репозитория: копии, диаграммы, фронтматтеры
|
||||
pyproject.toml линтеры скриптов, только для этого репозитория
|
||||
lefthook.yml гейт коммита: проверки документов
|
||||
@@ -311,6 +312,13 @@ uv run python scripts/copies.py # 0 сошлось, 1 расхождение
|
||||
сверку не входят. Маркер, уехавший в проект вместе со скелетом, там полезен: он
|
||||
говорит, что у текста есть дом и правится он там.
|
||||
|
||||
**Дом правила, общего для нескольких плагинов, лежит в `shared/` и ни одному из
|
||||
них не принадлежит.** Так живёт язык проектных текстов: он одинаково нужен
|
||||
документам канона и задачам, и хранить его внутри одного плагина значило бы
|
||||
отдать общее правило во владение половине. Плагин везёт копию и потому остаётся
|
||||
самодостаточным — `shared/` нужен этому репозиторию, а не установленному
|
||||
плагину.
|
||||
|
||||
Скрипт ловит четыре вещи: копия разошлась с домом (с диффом), копия указывает не
|
||||
на тот файл, дом остался без копий, разметка сломана. Чего он **не** ловит —
|
||||
копию, которую забыли пометить: помечать — по-прежнему решение человека.
|
||||
|
||||
Reference in New Issue
Block a user