Releases: yshishenya/spec-kit-ext-github-issue-canon
Release list
v0.3.1 - tested-issue-canon
v0.3.1: надежная публикация release-артефактов
Исправлена checkout-free публикация release notes через проверенный package artifact. Подписи GPG не попадают в текст релиза. Проверено: 17 unit/package тестов, actionlint, zizmor и CodeQL.
v0.3.0 - tested-issue-canon
v0.3.0 - tested issue canon
Adds unit-tested validation and normalization, deterministic checksummed packages, PR-only required CI, and a build-once immutable release pipeline.
v0.2.6 - immutable-bootstrap-compat
Что изменилось
- Catalog и README теперь используют immutable archive
refs/tags/v0.2.6.zipвместо изменяемогоmain.zip. - Зафиксирована совместимость со
speckit-bootstrap v0.6.0, который проверяет полное дерево установленного extension. - Поведение Python-команд, issue canon и project templates не изменено.
Проверка
- Python compile для всех scripts.
- JSON/YAML parse catalog, manifest и config template.
- Проверка совпадения
0.2.6в manifest/catalog и immutable download URL. - Regression assertions для hierarchical area labels.
git diff --check.
Совместимость и миграция
Миграция не требуется. Существующие установки продолжают работать; следующий bootstrap refresh получит новый tagged archive.
Известные ограничения
Нет новых известных ограничений.
PR: #4
v0.2.5 - hierarchical-area-normalize
Что изменилось
- Исправлена normalization для hierarchical area labels, например
area:support/custody. - Если full area label уже есть на issue, normalizer больше не пытается добавить redundant root label вроде
area:support. extension.ymlиcatalog.jsonобновлены до0.2.5.
Validation evidence
python3 -m py_compile scripts/issue_canon_common.py scripts/ensure_issue_canon.py scripts/normalize_issue_canon.py scripts/validate_issue_canon.py.- In-memory smoke: legacy title с area
support/custodyнормализуется в[061][P1][support/custody] T000: ...без требования root label. python3 scripts/validate_issue_canon.py->github-issue-canon: OK (0 Spec Kit issue(s) checked).git diff --check.
Compatibility / migration impact
- Backward-compatible hotfix для
v0.2.3/v0.2.4; title format не менялся. - Особенно полезно для проектов, где исторически были full labels вида
area:a/b.
Known limitations
- Если у issue нет ни root, ни full area label, normalizer все еще будет добавлять root label, как и раньше.
- Старые issues нужно мигрировать через
$speckit-github-issue-canon-normalize.
PR / issues
- Release commit:
2b65d77. - PR не создавался: maintainer direct hotfix release.
- Edge case найден при миграции Crisp issue
#2548.
v0.2.4 - normalize-noop-fix
Что изменилось
- Исправлен normalizer: он больше не вызывает
gh issue edit, если issue уже canonical и не требует изменений title, body или labels. extension.ymlиcatalog.jsonобновлены до0.2.4.
Validation evidence
python3 -m py_compile scripts/issue_canon_common.py scripts/ensure_issue_canon.py scripts/normalize_issue_canon.py scripts/validate_issue_canon.py.- In-memory smoke: legacy title
[093][P1][docs] ...нормализуется в[093][P1][docs] T001: .... python3 scripts/validate_issue_canon.py->github-issue-canon: OK (0 Spec Kit issue(s) checked).git diff --check.
Compatibility / migration impact
- Это backward-compatible hotfix для
v0.2.3. - Проекты, которые уже получили
v0.2.3, можно просто обновить extension/bootstrap refresh; формат title не менялся.
Known limitations
- Enforcement по-прежнему зависит от установленного project canon / bootstrap.
- Старые issues нужно мигрировать через
$speckit-github-issue-canon-normalize.
PR / issues
- Release commit:
5686f7d. - PR не создавался: maintainer direct hotfix release.
- Баг найден во время миграции Crisp issues после
v0.2.3.
v0.2.3 - task-title-canon
Что изменилось
- Зафиксирован один canonical title для Spec Kit task-backed issues:
[<feature>][<priority>][<area>] T###: <русский результат>. - Уточнено, что generic
$speckit-taskstoissuestitleT001: <description>является fallback только для репозиториев без project canon. normalizeтеперь мигрирует старые canon titles и bareT###: ...titles в единый формат репозитория.ensureменьше шумит по GitHub labels: сначала читает существующие labels, затем меняет только отсутствующие или устаревшие.- Выровнены
extension.ymlиcatalog.json: версия extension теперь0.2.3.
Validation evidence
python3 -m py_compile scripts/issue_canon_common.py scripts/ensure_issue_canon.py scripts/normalize_issue_canon.py scripts/validate_issue_canon.py- In-memory smoke для
canonical_title,canonical_bodyиvalidate_issue: старый title и bareT###приводятся к canonical title, новый title проходит validation. python3 scripts/validate_issue_canon.py->github-issue-canon: OK (0 Spec Kit issue(s) checked).git diff --check.
Compatibility / migration impact
- Новые и refreshed проекты, которые ставят extension из
mainили catalog, получают новый canon автоматически. - Существующие issues со старым title можно привести командой
$speckit-github-issue-canon-normalize. - Bare
T001: ...больше не считается валидным title в репозиториях, где установленgithub-issue-canon.
Known limitations
- Глобальный
$speckit-taskstoissuesостается generic fallback; жесткое правило включается через установленный project canon / bootstrap. - Для ручных Spec Kit issues без строки в
tasks.mdдопустим временныйT000, но перед закрытием issue нужно заменить его на реальный task id.
PR / issues
- Release commit:
4e15666. - PR не создавался: maintainer direct release.
- Нет отдельного tracked issue для этого release.
v0.2.2 - risk-validation-lane-pr-template
Что изменилось
- Reusable PR template получил секцию Risk / validation lane.
- Issue canon теперь требует в PR description выбранную validation lane, evidence и объяснение, почему scope достаточен.
Validation evidence
- python3 -m py_compile scripts/*.py.
- Diff check against installed Crisp extension templates and live Crisp docs/template.
- git diff --check.
Compatibility / migration impact
- Совместимо с текущими Spec Kit проектами.
- После refresh PR template начинает требовать lane/evidence без изменения runtime behavior.
Known limitations
- Validation scripts по-прежнему проверяют issue canon; PR body enforcement остается процессным требованием.
Links
- PR: #3
v0.2.1 - release-versioning-policy
Что изменилось
- Добавлены правила release/versioning в README extension и reusable PR template.
extension.ymlиcatalog.jsonобновлены до0.2.1.- Правило закрепляет: продукты и deployed services используют CalVer
vYYYY.MM.DD.N, reusable tooling/extensions/bootstrap используют SemVervMAJOR.MINOR.PATCH. - Читаемый postfix релиза должен жить в GitHub Release title, не в stable tag.
Совместимость и миграция
- Это SemVer patch release для reusable Spec Kit extension.
- Алгоритмы создания, проверки и нормализации GitHub issues не менялись.
- Проекты, которые обновят extension, получат новый release/versioning чеклист в PR template.
Проверка
git diff --checkpython3 -m py_compile /Users/yshishenya/Documents/spec-kit-ext-github-issue-canon/scripts/*.py- Синхронизация с Crisp проверена через
diff -qr --exclude .git --exclude __pycache__.
Ограничения
- Старые открытые GitHub issues этим релизом не нормализуются автоматически.
- Это не меняет сам issue canon closure workflow, только добавляет release/versioning guidance.
Ссылки
- PR: #2
v0.2.0 — Russian issue and PR canon
Кратко
github-issue-canon v0.2.0 переводит reusable Spec Kit extension на Russian-only workflow для GitHub issues и pull requests.
Что изменилось
- Новый canonical issue body теперь полностью на русском.
- Старые английские секции
Summary,Problem,Validation Requiredбольше не считаются валидными. - Issue form переведен на русские labels и подсказки.
- Добавлен PR template для русского summary, validation evidence, issue links, out-of-scope notes и pre-merge checklist.
- Installer теперь ставит
.github/pull_request_template.mdвместе с issue templates. - Closing rules приведены к GitHub behavior:
Fixes,Closes,Resolvesтолько для полного закрытия issue;RefsиPart ofдля частичной связи;- auto-close надежен только для PR в default branch.
- Закрытие issue теперь требует подробный русский closure comment: что закрыто, почему важно, как проверено, что не входит, какой PR и task закрыты.
- Normalize переписывает старые/неполные issue bodies в новую русскую структуру.
- Installer не дублирует AGENTS guidance, если проект уже содержит старый canon block.
Breaking change
Валидация больше не принимает старые английские sections. Перед clean validation на старых проектах нужно нормализовать open Spec Kit issues.
Проверки
python3 -m py_compile scripts/*.pygit diff --check- smoke normalize на fake issue: все новые русские секции создаются
- version metadata:
extension.ymlиcatalog.jsonпоказывают0.2.0
github-issue-canon v0.1.2
Changed
- Move the managed issue canon template to
docs/agent-guidance/github-issue-canon.md. - Preserve custom legacy canon files during migration instead of overwriting them silently.
- Keep generated
AGENTS.mdguidance pointed at the new canon path. - Align
catalog.jsonandextension.ymlat version0.1.2.
Validation
python3 -m py_compile scripts/ensure_issue_canon.py scripts/issue_canon_common.py scripts/validate_issue_canon.py scripts/normalize_issue_canon.py- Version consistency check:
catalog.json==extension.yml==0.1.2