Сквозная реализация сервиса
Доводить всю заявленную цель до общего результата. Не считать завершение отдельного
слоя, компонента, теста или проверки завершением пользовательской задачи.
Для многоэтапной работы полностью прочитать
progress-template.md, создать
.orchestration/implementation-progress.md и поддерживать его актуальным до
завершения.
Основной принцип
Если следующий безопасный шаг однозначно следует из нормативной документации,
плана и применимых скилов, выполнять его без запроса подтверждения. Промежуточные
сообщения использовать только для информирования, а не как контрольные точки.
После каждого этапа сверять progress-реестр с Definition of Done и немедленно
переходить к следующему незавершённому шагу. Не завершать ответ предложением
могу продолжить, если продолжение уже входит в запрос пользователя.
Подготовка
- Прочитать инструкции репозитория и проверить состояние рабочего дерева.
- Сохранить незавершённые изменения пользователя; не включать их в область без
необходимости и не откатывать.
- Определить заявленную цель, область и явно исключённые части.
- Найти нормативные документы области. Не восстанавливать отсутствующее
продуктовое решение из существующего кода.
- Отделить нормативные требования от примеров, предложений, черновиков и открытых
вопросов.
- Вывести стартовую сводку: цель, область, источники требований, предполагаемые
компоненты, исключения, проверки и progress-файл.
- Определить порог исправления замечаний аудита без отдельного вопроса. Если
пользователь явно не задал иное, использовать
Все: исправлять Высокий,
Средний и Низкий. Явно заданные альтернативы: До среднего — Высокий и
Средний; Только высокий — только Высокий. Записать применённый порог в
progress-файл.
- Найти корень Git-репозитория и проверить его
.gitignore. Если отдельных строк
.orchestration/ или .review/ нет, предложить пользователю добавить
отсутствующие строки. Не изменять .gitignore без согласия и не использовать
.git/info/exclude вместо проектных правил.
- Создать или актуализировать
.orchestration/implementation-progress.md. Не
стирать пользовательские решения и сведения предыдущего запуска.
Построение полного плана
- Преобразовать нормативные требования в проверяемые элементы реализации.
- Для каждого элемента указать источник, компонент, зависимости, ожидаемые
артефакты, профильный скил и способ проверки.
- Включить не только основной код, но и требуемые тесты, миграции, конфигурацию,
composition root, entrypoints, lifecycle, logging, интеграцию и документацию
репозитория.
- Отмечать компонент
Не требуется только с доказательством из области и
требований, а не потому, что он ещё не рассмотрен.
- Строить порядок по фактическим зависимостям. Не зашивать фиксированный список
слоёв или технологий.
- Динамически обнаруживать implementation-скилы по актуальному каталогу среды.
Отбирать кандидатов по metadata, полностью читать выбранные
SKILL.md и
назначенные ими references. Не поддерживать закрытый список имён.
- Если применимого скила нет, следовать требованиям и конвенциям репозитория и
отметить отсутствие профильного скила в progress-файле; не блокировать
однозначную реализацию только из-за этого.
Реализация
- Поддерживать один актуальный план выполнения вместе с progress-файлом.
- Перед началом элемента ставить
В работе; после изменения запускать наиболее
узкие относящиеся проверки.
- Ставить
Выполнено только после создания всех артефактов элемента и успешной
проверки его ожидаемого поведения.
- При падении проверки диагностировать причину, исправить относящуюся реализацию
и повторить проверку. Не считать диагностируемый локальный отказ блокером.
- После элемента сразу переходить к следующему готовому по зависимостям.
- Периодически сообщать краткий прогресс, не запрашивая разрешение продолжать.
- Не создавать коммит без явной просьбы и не выполнять удалённые операции.
Полные проверки
После завершения элементов реализации:
- Выполнить обязательные formatter-check, lint, type-check и test-команды
репозитория без автоисправления.
- Выполнить integration- и process-level проверки, требуемые затронутыми
компонентами и доступные в разрешённом окружении.
- Не выдавать частичный или прерванный запуск за успешную проверку.
- Исправить собственные ошибки и повторять проверки до успеха либо настоящего
блокера.
Независимый audit/fix loop
- Динамически обнаружить review-скил проверки реализации по применимым
implementation-скилам и выполнить полный аудит заявленной области.
- Отдельно обнаружить review-скил сверки реализации с нормативной документацией
и выполнить полный аудит той же области.
- Не ослаблять read-only границы аудиторов: они создают отчёты, но не исправляют
реализацию.
- Прочитать созданные отчёты и отделить замечания, входящие в согласованный
порог. Замечания ниже порога не исправлять, не переводить в
Исправлено и не
удалять; перечислить их в progress-файле и итоговой сводке.
- Для каждого входящего в порог
Актуально выбрать профильный
implementation-скил, внести исправление, заполнить обязательный блок
Решение и выполнить относящиеся проверки.
- Не исправлять входящее в порог
Требует согласования без записанного
пользовательского решения.
- Повторно выполнить оба аудита после исправлений.
- Продолжать цикл, пока в согласованном пороге остаётся
Актуально. Замечания
ниже порога считать согласованно отложенными, но сохранять их фактический
статус. Другие исключения допускать только по явному решению пользователя.
- Если review-скил недоступен, отметить невыполненный quality gate как блокер
завершения, не подменяя независимый аудит самооценкой.
Настоящие блокеры
Останавливаться и запрашивать пользователя только когда:
- отсутствует решение, существенно меняющее доменное, публичное или системное
поведение;
- нормативные источники противоречат друг другу;
- требуется отдельное разрешение на разрушительное, внешнее или небезопасное
действие;
- необходимы недоступные секреты, учётные данные или обязательная инфраструктура;
- несколько несовместимых архитектурных вариантов нельзя выбрать по требованиям;
- пользователь явно назначил контрольную точку.
Не считать блокером большой объём, переход к следующему компоненту, необходимость
прочитать новый скил, диагностируемое падение теста, собственную ошибку реализации,
сжатие контекста или отсутствие повторной команды продолжай.
При блокере завершить все остальные независимые безопасные элементы, записать
точный вопрос, влияние и уже выполненную работу в progress-файл и только затем
запросить решение.
Definition of Done
Считать цель завершённой, только если одновременно выполнено следующее:
- каждый элемент заявленной области имеет
Выполнено или обоснованное
Не требуется;
- все обязательные артефакты, тесты и интеграционные связи созданы;
- узкие и полные обязательные проверки успешно завершены;
- выполнены оба независимых аудита;
- в согласованном пороге нет
Актуально либо пользователь явно исключил
конкретное замечание;
- в согласованном пороге нет
Требует согласования и других блокеров;
- все замечания ниже порога сохранены и перечислены как согласованно отложенные;
- progress-файл отражает фактическое итоговое состояние;
.orchestration/ и .review/ исключены корневым .gitignore либо пользователь
явно отказался от предложенного изменения;
- проверены
git status и итоговый diff без затрагивания чужих изменений.
Финальный ответ должен сообщать реализованный объём, проверки, результаты
аудитов, оставшиеся явные исключения и путь к progress-файлу. Не объявлять успех,
если Definition of Done не выполнен.
1---2name: service-implementation-orchestrator3description: Сквозная реализация согласованного объёма backend-сервиса по готовой нормативной документации: инвентаризация требований, зависимый план, динамический выбор профильных implementation-скилов, реализация всех слоёв и процессов, тесты, полные проверки, независимые аудиты и исправление замечаний до общего Definition of Done. Использовать, когда пользователь просит реализовать сервис, возможность или комплект требований полностью либо «сделать всё сразу». Не использовать для проектирования отсутствующих требований, локальной правки одного однозначного компонента или только аудита без реализации.4---56# Сквозная реализация сервиса78Доводить всю заявленную цель до общего результата. Не считать завершение отдельного9слоя, компонента, теста или проверки завершением пользовательской задачи.1011Для многоэтапной работы полностью прочитать12[progress-template.md](references/progress-template.md), создать13`.orchestration/implementation-progress.md` и поддерживать его актуальным до14завершения.1516## Основной принцип1718Если следующий безопасный шаг однозначно следует из нормативной документации,19плана и применимых скилов, выполнять его без запроса подтверждения. Промежуточные20сообщения использовать только для информирования, а не как контрольные точки.2122После каждого этапа сверять progress-реестр с Definition of Done и немедленно23переходить к следующему незавершённому шагу. Не завершать ответ предложением24`могу продолжить`, если продолжение уже входит в запрос пользователя.2526## Подготовка27281. Прочитать инструкции репозитория и проверить состояние рабочего дерева.292. Сохранить незавершённые изменения пользователя; не включать их в область без30 необходимости и не откатывать.313. Определить заявленную цель, область и явно исключённые части.324. Найти нормативные документы области. Не восстанавливать отсутствующее33 продуктовое решение из существующего кода.345. Отделить нормативные требования от примеров, предложений, черновиков и открытых35 вопросов.366. Вывести стартовую сводку: цель, область, источники требований, предполагаемые37 компоненты, исключения, проверки и progress-файл.387. Определить порог исправления замечаний аудита без отдельного вопроса. Если39 пользователь явно не задал иное, использовать `Все`: исправлять `Высокий`,40 `Средний` и `Низкий`. Явно заданные альтернативы: `До среднего` — `Высокий` и41 `Средний`; `Только высокий` — только `Высокий`. Записать применённый порог в42 progress-файл.438. Найти корень Git-репозитория и проверить его `.gitignore`. Если отдельных строк44 `.orchestration/` или `.review/` нет, предложить пользователю добавить45 отсутствующие строки. Не изменять `.gitignore` без согласия и не использовать46 `.git/info/exclude` вместо проектных правил.479. Создать или актуализировать `.orchestration/implementation-progress.md`. Не48 стирать пользовательские решения и сведения предыдущего запуска.4950## Построение полного плана51521. Преобразовать нормативные требования в проверяемые элементы реализации.532. Для каждого элемента указать источник, компонент, зависимости, ожидаемые54 артефакты, профильный скил и способ проверки.553. Включить не только основной код, но и требуемые тесты, миграции, конфигурацию,56 composition root, entrypoints, lifecycle, logging, интеграцию и документацию57 репозитория.584. Отмечать компонент `Не требуется` только с доказательством из области и59 требований, а не потому, что он ещё не рассмотрен.605. Строить порядок по фактическим зависимостям. Не зашивать фиксированный список61 слоёв или технологий.626. Динамически обнаруживать implementation-скилы по актуальному каталогу среды.63 Отбирать кандидатов по metadata, полностью читать выбранные `SKILL.md` и64 назначенные ими references. Не поддерживать закрытый список имён.657. Если применимого скила нет, следовать требованиям и конвенциям репозитория и66 отметить отсутствие профильного скила в progress-файле; не блокировать67 однозначную реализацию только из-за этого.6869## Реализация70711. Поддерживать один актуальный план выполнения вместе с progress-файлом.722. Перед началом элемента ставить `В работе`; после изменения запускать наиболее73 узкие относящиеся проверки.743. Ставить `Выполнено` только после создания всех артефактов элемента и успешной75 проверки его ожидаемого поведения.764. При падении проверки диагностировать причину, исправить относящуюся реализацию77 и повторить проверку. Не считать диагностируемый локальный отказ блокером.785. После элемента сразу переходить к следующему готовому по зависимостям.796. Периодически сообщать краткий прогресс, не запрашивая разрешение продолжать.807. Не создавать коммит без явной просьбы и не выполнять удалённые операции.8182## Полные проверки8384После завершения элементов реализации:85861. Выполнить обязательные formatter-check, lint, type-check и test-команды87 репозитория без автоисправления.882. Выполнить integration- и process-level проверки, требуемые затронутыми89 компонентами и доступные в разрешённом окружении.903. Не выдавать частичный или прерванный запуск за успешную проверку.914. Исправить собственные ошибки и повторять проверки до успеха либо настоящего92 блокера.9394## Независимый audit/fix loop95961. Динамически обнаружить review-скил проверки реализации по применимым97 implementation-скилам и выполнить полный аудит заявленной области.982. Отдельно обнаружить review-скил сверки реализации с нормативной документацией99 и выполнить полный аудит той же области.1003. Не ослаблять read-only границы аудиторов: они создают отчёты, но не исправляют101 реализацию.1024. Прочитать созданные отчёты и отделить замечания, входящие в согласованный103 порог. Замечания ниже порога не исправлять, не переводить в `Исправлено` и не104 удалять; перечислить их в progress-файле и итоговой сводке.1055. Для каждого входящего в порог `Актуально` выбрать профильный106 implementation-скил, внести исправление, заполнить обязательный блок107 `Решение` и выполнить относящиеся проверки.1086. Не исправлять входящее в порог `Требует согласования` без записанного109 пользовательского решения.1107. Повторно выполнить оба аудита после исправлений.1118. Продолжать цикл, пока в согласованном пороге остаётся `Актуально`. Замечания112 ниже порога считать согласованно отложенными, но сохранять их фактический113 статус. Другие исключения допускать только по явному решению пользователя.1149. Если review-скил недоступен, отметить невыполненный quality gate как блокер115 завершения, не подменяя независимый аудит самооценкой.116117## Настоящие блокеры118119Останавливаться и запрашивать пользователя только когда:120121- отсутствует решение, существенно меняющее доменное, публичное или системное122 поведение;123- нормативные источники противоречат друг другу;124- требуется отдельное разрешение на разрушительное, внешнее или небезопасное125 действие;126- необходимы недоступные секреты, учётные данные или обязательная инфраструктура;127- несколько несовместимых архитектурных вариантов нельзя выбрать по требованиям;128- пользователь явно назначил контрольную точку.129130Не считать блокером большой объём, переход к следующему компоненту, необходимость131прочитать новый скил, диагностируемое падение теста, собственную ошибку реализации,132сжатие контекста или отсутствие повторной команды `продолжай`.133134При блокере завершить все остальные независимые безопасные элементы, записать135точный вопрос, влияние и уже выполненную работу в progress-файл и только затем136запросить решение.137138## Definition of Done139140Считать цель завершённой, только если одновременно выполнено следующее:141142- каждый элемент заявленной области имеет `Выполнено` или обоснованное143 `Не требуется`;144- все обязательные артефакты, тесты и интеграционные связи созданы;145- узкие и полные обязательные проверки успешно завершены;146- выполнены оба независимых аудита;147- в согласованном пороге нет `Актуально` либо пользователь явно исключил148 конкретное замечание;149- в согласованном пороге нет `Требует согласования` и других блокеров;150- все замечания ниже порога сохранены и перечислены как согласованно отложенные;151- progress-файл отражает фактическое итоговое состояние;152- `.orchestration/` и `.review/` исключены корневым `.gitignore` либо пользователь153 явно отказался от предложенного изменения;154- проверены `git status` и итоговый diff без затрагивания чужих изменений.155156Финальный ответ должен сообщать реализованный объём, проверки, результаты157аудитов, оставшиеся явные исключения и путь к progress-файлу. Не объявлять успех,158если Definition of Done не выполнен.