Проверка качества документации
Проверять документацию как независимый аудитор. Оценивать, позволяет ли она
реализовать заявленное поведение без новых продуктовых и архитектурных решений.
Не дописывать требования и не исправлять документы.
Перед созданием отчёта полностью прочитать
report-template.md и использовать заданные там
структуру, значения полей и правила обновления.
Рабочий процесс
- Прочитать действующие инструкции репозитория.
- Определить режим и область:
- явно названные документы, раздел или слой означают ограниченную проверку;
- просьба проверить весь комплект документации означает полную проверку.
- Составить перечень документов области. Отделить нормативные документы от
черновиков, примеров, предложений и справочных материалов.
- Динамически обнаружить применимые documentation-writing скилы по актуальному
каталогу среды. Не поддерживать закрытый перечень их имён.
- Отобрать кандидатов по metadata, виду документов, слоям, транспортам и
технологиям. Исключить implementation-, creator-, installer-, meta- и
review-скилы.
- Полностью прочитать
SKILL.md каждого кандидата. Прочитать назначенные им
review-checklist и references для проверяемого вида документов. После чтения
подтвердить применимость или исключить кандидата.
- Если каталог скилов недоступен, искать frontmatter
name и description в
указанных пользователем каталогах и отметить ограничение обнаружения.
- Перед содержательным анализом вывести стартовую сводку: режим, область и её
основание, документы, выбранные скилы, планируемые виды проверки, исключения и
путь
.review/documentation-quality.md. После однозначной сводки не ждать
подтверждения.
- При необходимом расширении области сначала вывести обновлённую сводку.
- Определить назначение каждого документа и владельца его требований. Собрать
стабильные обозначения, термины, состояния, операции, DTO, порты, события и
внешние контракты.
- Проверить каждый нормативный документ локально по профильному скилу: полноту,
однозначность, обязательную структуру, открытые вопросы и готовность к
реализации.
- Разрешить ссылки и обозначения между документами. Сопоставить одинаковые
понятия во всех местах использования.
- Проверить направление зависимостей и владение требованиями. Не требовать
дублирования: корректную ссылку на документ-владелец считать достаточной.
- Считать противоречием только несовместимые нормативные утверждения. Не считать
различную степень непротиворечивой детализации проблемой.
- Считать неоднозначностью только несколько наблюдаемо разных трактовок. Не
фиксировать стилистическую неидеальность ясного текста.
- Проверить, можно ли реализовать каждое требование без самостоятельного
продуктового или архитектурного решения. Не придумывать отсутствующий ответ.
- Создавать замечание только при достаточном доказательстве. Подозрения,
недоступные источники и непроверяемые области переносить в ограничения.
- Обновить отчёт по шаблону. При ограниченной проверке не менять замечания вне
области. Не удалять исправленные замечания без явной просьбы.
- Проверить корневой
.gitignore. Если отдельной строки .review/ нет,
предложить пользователю добавить её. Не изменять .gitignore без согласия и
не использовать .git/info/exclude вместо проектного правила.
- Проверить
git status и убедиться, что отчёт не добавлен в index.
- Завершить краткой сводкой: новые и обновлённые замечания, количества по
статусам и приоритетам, высокоприоритетные проблемы, вопросы согласования,
ограничения и ссылка на отчёт. Не начинать исправление документации.
Источники проверки
Использовать в порядке применимости:
- явно заданные пользователем требования к документации;
- требования и рекомендации выбранных documentation-writing скилов;
- нормативные документы проверяемого комплекта;
- правила структуры и навигации репозитория.
Не использовать код, тесты, комментарии, docstring и историю Git как источники
требований. Не восстанавливать отсутствующие решения из реализации.
Классы замечаний
Противоречие — нормативные утверждения несовместимы.
Пробел — отсутствует необходимое для реализации требование.
Неоднозначность — текст допускает наблюдаемо разные варианты.
Нарушение структуры — нарушена обязательная структура профильного скила.
Нарушение владения — требование определено не у владельца или дублирует его.
Несогласованная ссылка — ссылка, обозначение или зависимость не разрешается.
Нарушение рекомендации — нарушен явно необязательный предпочтительный подход.
Не вводить другие классы. Последний класс всегда имеет приоритет Низкий.
Остальным назначать приоритет по влиянию, а не автоматически по классу.
Граница полноты
Фиксировать отсутствующие входы, результаты, исходы, владельцев, границы
согласованности, доставки и совместимости, неопределённые ссылки, термины и
состояния, а также открытые вопросы с неуказанным влиянием на реализацию.
Не предлагать содержание отсутствующего продуктового решения. Формулировать,
какое свойство документации должно быть определено, а выбор оставлять в
обязательном блоке Решение отчёта.
Границы изменений
Разрешено изменять .review/documentation-quality.md и создавать каталог
.review/ для него. Строку .review/ разрешено добавлять в корневой .gitignore
только после согласия пользователя. Не исправлять нормативные документы и не
менять .git/info/exclude.
1---2name: documentation-quality-review3description: Проверка нормативной документации на внутренние и междокументные противоречия, неоднозначность, пробелы требований, нарушения структуры, владения и ссылок с записью замечаний в `.review/documentation-quality.md`. Использовать после создания или изменения документации для полного либо ограниченного аудита её готовности к реализации без чтения кода и без исправления документов. Не использовать для проектирования требований, сверки с реализацией или непосредственного устранения замечаний.4---56# Проверка качества документации78Проверять документацию как независимый аудитор. Оценивать, позволяет ли она9реализовать заявленное поведение без новых продуктовых и архитектурных решений.10Не дописывать требования и не исправлять документы.1112Перед созданием отчёта полностью прочитать13[report-template.md](references/report-template.md) и использовать заданные там14структуру, значения полей и правила обновления.1516## Рабочий процесс17181. Прочитать действующие инструкции репозитория.192. Определить режим и область:20 - явно названные документы, раздел или слой означают ограниченную проверку;21 - просьба проверить весь комплект документации означает полную проверку.223. Составить перечень документов области. Отделить нормативные документы от23 черновиков, примеров, предложений и справочных материалов.244. Динамически обнаружить применимые documentation-writing скилы по актуальному25 каталогу среды. Не поддерживать закрытый перечень их имён.265. Отобрать кандидатов по metadata, виду документов, слоям, транспортам и27 технологиям. Исключить implementation-, creator-, installer-, meta- и28 review-скилы.296. Полностью прочитать `SKILL.md` каждого кандидата. Прочитать назначенные им30 review-checklist и references для проверяемого вида документов. После чтения31 подтвердить применимость или исключить кандидата.327. Если каталог скилов недоступен, искать frontmatter `name` и `description` в33 указанных пользователем каталогах и отметить ограничение обнаружения.348. Перед содержательным анализом вывести стартовую сводку: режим, область и её35 основание, документы, выбранные скилы, планируемые виды проверки, исключения и36 путь `.review/documentation-quality.md`. После однозначной сводки не ждать37 подтверждения.389. При необходимом расширении области сначала вывести обновлённую сводку.3910. Определить назначение каждого документа и владельца его требований. Собрать40 стабильные обозначения, термины, состояния, операции, DTO, порты, события и41 внешние контракты.4211. Проверить каждый нормативный документ локально по профильному скилу: полноту,43 однозначность, обязательную структуру, открытые вопросы и готовность к44 реализации.4512. Разрешить ссылки и обозначения между документами. Сопоставить одинаковые46 понятия во всех местах использования.4713. Проверить направление зависимостей и владение требованиями. Не требовать48 дублирования: корректную ссылку на документ-владелец считать достаточной.4914. Считать противоречием только несовместимые нормативные утверждения. Не считать50 различную степень непротиворечивой детализации проблемой.5115. Считать неоднозначностью только несколько наблюдаемо разных трактовок. Не52 фиксировать стилистическую неидеальность ясного текста.5316. Проверить, можно ли реализовать каждое требование без самостоятельного54 продуктового или архитектурного решения. Не придумывать отсутствующий ответ.5517. Создавать замечание только при достаточном доказательстве. Подозрения,56 недоступные источники и непроверяемые области переносить в ограничения.5718. Обновить отчёт по шаблону. При ограниченной проверке не менять замечания вне58 области. Не удалять исправленные замечания без явной просьбы.5919. Проверить корневой `.gitignore`. Если отдельной строки `.review/` нет,60 предложить пользователю добавить её. Не изменять `.gitignore` без согласия и61 не использовать `.git/info/exclude` вместо проектного правила.6220. Проверить `git status` и убедиться, что отчёт не добавлен в index.6321. Завершить краткой сводкой: новые и обновлённые замечания, количества по64 статусам и приоритетам, высокоприоритетные проблемы, вопросы согласования,65 ограничения и ссылка на отчёт. Не начинать исправление документации.6667## Источники проверки6869Использовать в порядке применимости:7071- явно заданные пользователем требования к документации;72- требования и рекомендации выбранных documentation-writing скилов;73- нормативные документы проверяемого комплекта;74- правила структуры и навигации репозитория.7576Не использовать код, тесты, комментарии, docstring и историю Git как источники77требований. Не восстанавливать отсутствующие решения из реализации.7879## Классы замечаний8081- `Противоречие` — нормативные утверждения несовместимы.82- `Пробел` — отсутствует необходимое для реализации требование.83- `Неоднозначность` — текст допускает наблюдаемо разные варианты.84- `Нарушение структуры` — нарушена обязательная структура профильного скила.85- `Нарушение владения` — требование определено не у владельца или дублирует его.86- `Несогласованная ссылка` — ссылка, обозначение или зависимость не разрешается.87- `Нарушение рекомендации` — нарушен явно необязательный предпочтительный подход.8889Не вводить другие классы. Последний класс всегда имеет приоритет `Низкий`.90Остальным назначать приоритет по влиянию, а не автоматически по классу.9192## Граница полноты9394Фиксировать отсутствующие входы, результаты, исходы, владельцев, границы95согласованности, доставки и совместимости, неопределённые ссылки, термины и96состояния, а также открытые вопросы с неуказанным влиянием на реализацию.9798Не предлагать содержание отсутствующего продуктового решения. Формулировать,99какое свойство документации должно быть определено, а выбор оставлять в100обязательном блоке `Решение` отчёта.101102## Границы изменений103104Разрешено изменять `.review/documentation-quality.md` и создавать каталог105`.review/` для него. Строку `.review/` разрешено добавлять в корневой `.gitignore`106только после согласия пользователя. Не исправлять нормативные документы и не107менять `.git/info/exclude`.