уставы вычитки: оговорка про поля меты и два рода «не своего»
Обкатка обоих проходов на тестовом наборе нашла два расхождения в правилах, которые я же и написал. «Одна мысль — одно предложение» не распространяется на поля меты. 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. **Англицизм, у которого есть живое русское слово, заменяется.**
|
5. **Англицизм, у которого есть живое русское слово, заменяется.**
|
||||||
|
|
||||||
<!-- копия: язык-англицизмы из av-dev-pm/skills/canon/references/language.md -->
|
<!-- копия: язык-англицизмы из 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