opencode-config/docs/handoff/pr-169-sdd-validation-headings.md
Sergey c491b5fad1
fix(issue): align headings with create-issue validation and add SDD sections (#169)
* 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>
2026-07-31 19:42:14 +03:00

28 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 (можно кратко)