diff --git a/AGENTS.md b/AGENTS.md index 4c97c235..f05607c6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ - This repo is part of the TechCon working set. - Use repo-local docs/status for task-specific truth, and use the hub-level access surface for no-secrets infra access guidance. - + ## Карта точек входа агентов > Единственное место, где записана раскладка нормативного текста по файлам @@ -124,6 +124,32 @@ squash) — `GIT-CONTRACT.md` §1.11. Squash остаётся правильным для `feature/* → develop` — там проблемы ancestry нет. +## Связь коммит↔задача Linear + +> Извлечение действующего правила из `canon/GIT-CONTRACT.md` §1.13 +> (08.09.2026, единая система Linear → лог работ → менеджерский экспорт). +> Полный контекст и обоснование — там; здесь — то, что агент обязан +> выполнять при работе над задачей Linear. + +**Если коммит/PR продвигает конкретную задачу Linear** — имя ветки должно +содержать её идентификатор в форме `tml-` (регистр неважен). Linear уже +сам предлагает такое имя ветки для каждой задачи (поле `gitBranchName`) — +использовать его, не изобретать своё. + +**Без отдельной ветки на задачу** (мелкий фикс, хотфикс, коммит без заранее +созданной задачи) — указать идентификатор трейлером в теле коммита: +`Linear: TML-` отдельной строкой, тем же местом, где стоит +`Co-Authored-By:` для агентских коммитов — не смешивать в одну строку. + +**Не для каждого коммита.** Служебные/синхронизирующие коммиты +(`[automated]`-раздача, back-merge и подобные) привязки не требуют — +только коммиты, продвигающие содержательную работу, которую имело бы смысл +показать в «Логе работ» менеджмент-отчёта. + +**Задача Linear остаётся человекочитаемой сама по себе** — идентификатор +живёт в git, не наоборот (не добавлять git-пермалинки в текст задачи, это +уже отменено, см. `canon/standards/linear-task-governance.md`). + ## Формулировки в Swagger/OpenAPI — тот же стандарт, что и у портала документации > Извлечение обязательного правила из `canon/standards/api-documentation-standard.md`