* fix(issue): align headings with create-issue validation and add SDD sections * docs(issue): add handoff, ADR, and fix CI for SDD validation * docs(pr-169): fix handoff sections --------- Co-authored-by: opencode-agent <agent@opencode.local>
3.2 KiB
3.2 KiB
pr: 169 title: fix(issue): align headings with create-issue validation and add SDD sections
Что сделано
create-issue.ts: добавлена валидация 4 новых SDD-секций (## Контракты,## Инварианты,## Граничные случаи,## Вне scope) — всегда, без флагов. Итоговые обязательные заголовки: 7 секций.issue/SKILL.md: шаблон обновлён до 7 секций SDD. Структура## Контекствключает «Зачем» (мотивация) и «Контекст» (текущее состояние). Старые заголовки (## Что сделать,## Проверка,## Acceptance criteria,## Dependencies,## Связанные ресурсы) убраны. Примеры обновлены.spec/SKILL.md: шаблон issue body (строки 305-308) обновлён —## Что сделать→## Задача,## Проверка→## Критерии приемки, добавлены новые SDD-секции.bug-discovery/SKILL.md: описание заголовков issue body обновлено до 7 секций.tests/test_create_issue_tool.py:VALID_BODYобновлён до 7 секций. Тела существующих missing-heading тестов обновлены. Добавлены 4 новых теста:test_sdd_missing_contracts,test_sdd_missing_invariants,test_sdd_missing_edge_cases,test_sdd_missing_out_of_scope. Длинные строки переведены на implicit string concatenation (E501 fix).tests/test_create_issue_tool.ts: синхронизирован с Python-тестами.
Почему
Шаблоны в issue/SKILL.md и spec/SKILL.md использовали заголовки (## Что сделать, ## Проверка, ## Acceptance criteria), не совпадающие с валидацией create-issue.ts (## Контекст, ## Задача, ## Критерии приемки) — issues, созданные по шаблону скилла, проваливали валидацию tool'а.
SDD-секции (контракты, инварианты, граничные случаи, out-of-scope) исключают угадывание агента и улучшают качество результатов с первого промпта. Единый стандарт для всех issues — без флагов и режимов.
Pending
PR #2: создать feature-spec скилл — SDD Q&A перед реализацией. Будет использовать обновлённый create-issue tool с 7 секциями.
Watch out
- Существующие issues в репо не соответствуют новому формату — но это не влияет на функциональность, только на создание новых issues
bug-discoveryскилл теперь требует 7 секций — баг-репорты должны включать контракты, инварианты, edge cases и out-of-scope (можно кратко)