уставы вычитки: оговорка про поля меты и два рода «не своего»
Обкатка обоих проходов на тестовом наборе нашла два расхождения в правилах, которые я же и написал. «Одна мысль — одно предложение» не распространяется на поля меты. doc-wording предложил разбить «зачем» надвое, а task-format.md требует от него одного предложения: оно повторяется строкой индекса, и второму там не поместиться. Агент честно выполнил тот документ, который читал; виновато правило без оговорки. Оговорка записана и в доме language.md, и в уставе: тесно — сокращай, но не дели. «Не своё» бывает двух родов. Чужому подрядчику — строкой в границах покрытия, чтобы находка не пропала. Машинной проверке — вообще ничего, даже строкой: это не потерянная находка, а уже проверенное. doc-wording отправил в «замечено не по моей части» открытый вопрос в задаче, который ловит tasks.py check, и строка получилась шумом, выглядящим как работа. Разделение прописано в обоих уставах. DECISIONS тема 24 (ХХХ, ЦЦЦ, следствия 94–95). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1687,3 +1687,44 @@ ADR, запискам разведки и сообщениям коммитов
|
||||
впервые используется не для скелетов канона, а чтобы удержать одно правило в
|
||||
двух уставах подрядчиков. Случай тот же: текст обязан быть на месте, потому
|
||||
что подрядчик по ссылкам не ходит.
|
||||
|
||||
## 24. Обкатка двух проходов: два дефекта в собственных правилах (2026-08-04)
|
||||
|
||||
### Что было
|
||||
|
||||
Оба прохода запущены на тестовом наборе из 13 записей. `task-form` дал три
|
||||
находки и блок «строки Завершения», `doc-wording` — пять находок. Разделение
|
||||
окупилось сразу: `task-form` поймал ровно тот класс, на котором слитый агент
|
||||
промолчал (границы, названные будущим состоянием, — тема 22, РРР).
|
||||
|
||||
Но два его правила разошлись с остальным каноном.
|
||||
|
||||
### Решено
|
||||
|
||||
**ХХХ. «Одна мысль — одно предложение» не распространяется на поля меты.**
|
||||
`doc-wording` предложил разбить «зачем» надвое — а `task-format.md` требует от
|
||||
«зачем» **одного предложения**: оно повторяется строкой индекса, и второму там не
|
||||
поместиться. Агент честно выполнил тот документ, который читал; виноват не он, а
|
||||
правило без оговорки. Оговорка записана и в доме (`language.md`), и в уставе:
|
||||
тесно — сокращай, но не дели.
|
||||
|
||||
**ЦЦЦ. «Не своё» бывает двух родов, и поступают с ними по-разному.** Чужому
|
||||
подрядчику — строкой в границах покрытия, чтобы находка не пропала. **Машинной
|
||||
проверке — вообще ничего, даже строкой**: это не потерянная находка, а уже
|
||||
проверенное. `doc-wording` отправил в «замечено не по моей части» открытый
|
||||
вопрос в задаче — а его ловит `tasks.py check`, и строка получилась шумом,
|
||||
который выглядит как работа.
|
||||
|
||||
### Что из этого следует
|
||||
|
||||
94. **Шестое правило нашло то, чего не искали.** Три строки «Завершения»
|
||||
оказались **закрыты критериями задач, но не заявлены** самими задачами, а
|
||||
одна строка цели (`checks-one-command`, «названа в README и в описании
|
||||
работы над проектом») — закрыта наполовину. Агент назвал оба толкования и
|
||||
выбирать не стал, как и велено. Выбрано сужение цели: описания работы над
|
||||
проектом у выдуманной игры нет вовсе, и строка обещала то, чего негде
|
||||
исполнить.
|
||||
95. **Спорные находки полезны тем, что показывают спор правил, а не вкуса.**
|
||||
Из пяти языковых находок три приняты сразу, две отклонены — и обе отклонённые
|
||||
указывали на одно и то же место канона (правило 4 без оговорки). Вкусовых
|
||||
находок не было ни одной: порог держится.
|
||||
|
||||
@@ -66,6 +66,10 @@ color: green
|
||||
утверждениями делится. **Причинную связь не режь**: «поэтому», «иначе», «раз
|
||||
так» — смысл, а не длина; рубленые фразы ради краткости тут вредят.
|
||||
|
||||
**Поля меты не делятся.** «Зачем» в мете задачи по формату — одно
|
||||
предложение: оно повторяется строкой индекса, и второму там не поместиться.
|
||||
Тесно — сокращай, но не дели. То же с любым полем вида `- **Имя:** …`.
|
||||
|
||||
5. **Англицизм, у которого есть живое русское слово, заменяется.**
|
||||
|
||||
<!-- копия: язык-англицизмы из av-dev-pm/skills/canon/references/language.md -->
|
||||
@@ -120,15 +124,21 @@ color: green
|
||||
|
||||
## Чего ты не проверяешь
|
||||
|
||||
**Форму записи задачи** — она у `task-form`, см. выше.
|
||||
Не своё бывает двух разных родов, и поступают с ними по-разному.
|
||||
|
||||
Всё, что ловит `tasks.py check` и `docs.py check`: состав и написание секций,
|
||||
наличие разделов, число критериев, теги, согласованность индексов, битые ссылки.
|
||||
Повторять машинную проверку словами — заводить второй дом для одного правила;
|
||||
если видишь такое, просто не пиши.
|
||||
**Чужому подрядчику — строкой в границах покрытия.** Форма записи задачи у
|
||||
`task-form`; увидел — назови в конце одной строкой, чтобы находка не пропала, но
|
||||
находкой не оформляй.
|
||||
|
||||
**Машинной проверке — вообще ничего.** Всё, что ловят `tasks.py check` и
|
||||
`docs.py check` (состав и написание секций, наличие разделов, число критериев,
|
||||
теги, тег `question` при непустом разделе «Вопросы», согласованность индексов,
|
||||
битые ссылки), **не пиши даже строкой**: это не потерянная находка, а уже
|
||||
проверенное. Повторять машинную проверку словами — заводить второй дом для
|
||||
одного правила.
|
||||
|
||||
**Содержание**: верно ли решение, нужна ли задача, полна ли архитектура. Это
|
||||
разбор, а не вычитка.
|
||||
разбор, а не вычитка, — и о нём тоже молчи.
|
||||
|
||||
## Порог вмешательства
|
||||
|
||||
@@ -169,7 +179,7 @@ color: green
|
||||
смотрел и почему, и по чему проверялись термины (документы проекта названы или
|
||||
нет). Отчёт без этой строки читается как «всё вычитано», не сообщая, какая часть
|
||||
осталась нетронутой. Туда же — строка «замечено не по моей части», если бросилась
|
||||
в глаза форма записи.
|
||||
в глаза форма записи; машинно проверяемое в неё **не идёт**.
|
||||
|
||||
Ничего не нашёл — так и скажи одной строкой. Пустой доклад с границами покрытия
|
||||
полезнее выдуманной находки.
|
||||
|
||||
@@ -99,16 +99,22 @@ color: yellow
|
||||
|
||||
## Чего ты не проверяешь
|
||||
|
||||
**Язык** — он у `doc-wording`, см. выше.
|
||||
Не своё бывает двух разных родов, и поступают с ними по-разному.
|
||||
|
||||
Всё, что ловит `tasks.py check`: наличие разделов, число критериев, состав и
|
||||
написание секций, теги, согласованность индексов, битые ссылки, форма заголовка
|
||||
как строки. Повторять машинную проверку словами — заводить второй дом для одного
|
||||
правила; если видишь такое, просто не пиши.
|
||||
**Чужому подрядчику — строкой в границах покрытия.** Язык у `doc-wording`;
|
||||
увидел — назови в конце одной строкой, чтобы находка не пропала, но находкой не
|
||||
оформляй.
|
||||
|
||||
**Машинной проверке — вообще ничего.** Всё, что ловит `tasks.py check` (наличие
|
||||
разделов, число критериев, состав и написание секций, теги, тег `question` при
|
||||
непустом разделе «Вопросы», согласованность индексов, битые ссылки, форма
|
||||
заголовка как строки), **не пиши даже строкой**: это не потерянная находка, а
|
||||
уже проверенное. Повторять машинную проверку словами — заводить второй дом для
|
||||
одного правила.
|
||||
|
||||
**Содержание работы**: нужна ли задача, верно ли выбрана цель, не крупна ли она,
|
||||
достаточна ли декомпозиция. Шестое правило подходит к этому близко и
|
||||
останавливается там, где кончается сверка с текстом цели.
|
||||
останавливается там, где кончается сверка с текстом цели. Об этом молчи.
|
||||
|
||||
## Порог вмешательства
|
||||
|
||||
@@ -151,7 +157,8 @@ color: yellow
|
||||
В конце — **границы покрытия**: сколько записей просмотрено из скольких, какие
|
||||
цели открыты, какие не смотрел и почему. Отчёт без этой строки читается как
|
||||
«беклог проверен», не сообщая, какая его часть осталась нетронутой. Туда же —
|
||||
строка «замечено не по моей части», если бросился в глаза язык.
|
||||
строка «замечено не по моей части», если бросился в глаза язык; машинно
|
||||
проверяемое в неё **не идёт**.
|
||||
|
||||
Ничего не нашёл — так и скажи одной строкой. Пустой доклад с границами покрытия
|
||||
полезнее выдуманной находки.
|
||||
|
||||
@@ -59,6 +59,11 @@
|
||||
утверждения, делится. Придаточное, которое можно вынести в отдельную фразу,
|
||||
выносится.
|
||||
|
||||
Исключение — **поля, которым формат отвёл одно предложение**. «Зачем» в мете
|
||||
задачи именно такое: оно повторяется строкой индекса, и второе предложение там
|
||||
просто не поместится. Такое поле либо укладывается в одну фразу, либо
|
||||
сокращается, но не делится.
|
||||
|
||||
**Параллельность.** Однородное пишется одинаково: пункты списка — одной
|
||||
грамматической формой, разделы одного вида — одним порядком, заголовки одного
|
||||
уровня — одним типом фразы. Разнобой читатель принимает за разницу по существу и
|
||||
|
||||
Reference in New Issue
Block a user