diff --git a/openspec/changes/bridge-hygiene/design.md b/openspec/changes/bridge-hygiene/design.md new file mode 100644 index 0000000..5d70b1f --- /dev/null +++ b/openspec/changes/bridge-hygiene/design.md @@ -0,0 +1,24 @@ +# bridge-hygiene — решения агента + +Спека и дизайн изменения — в `jira-hub/openspec/changes/bridge-hygiene/` (issue aep/jira-hub#13, aep/jira-agent#15). +Агентская часть — решения 16–21 дизайна хаба: + +- **T3.9 (agent#4)** — сравнение описания (`ensure_fields`) и тела комментария (`ensure_comment`) после замены `\r\n` на + `\n` с обеих сторон; отправляется текст команды как есть (решение владельца 14.10.2026). +- **M-6 (agent#12)** — время последней записи журнала в будущем принимается за «сейчас»: пауза первой команды полная. +- **M-7 (agent#12)** — `restore_pace` заполняет только `last_call_at`; `last_call_iso` — только при настоящем вызове Jira, + до него в `claim` уходит `null` (решение владельца 14.10.2026). +- **M-2 (agent#8)** — ответ папки со `status` не целым или `body` не строкой — как нечитаемый JSON: перечитать до 2 с, + затем `ConnectionError`. +- **O-3 (agent#8)** — текст `ConnectionError` транспорта папки без слова «хаб» (его добавляет цикл). +- **T2.3 (agent#4)** — `prune` берёт `acquire_lock`; занята — «агент запущен…», код 1; README без «Блокировки нет». +- Версия агента — 4. + +Закрываются без кода: **O-2 (agent#8)** — то же, что закрытый M-9 (`restore_pace`, PR #10); **O-1 (agent#12)** — +`ensure_link` вживую, переносится в отдельную живую проверку. + +## Decisions made without discussion + +| Маркер | Дата | Решение | Обоснование | Цена ошибки | +|---|---|---|---|---| +| R-11 (design #21 хаба) | 2026-10-14 | Версия агента 4, `min_agent_version` не поднимается | поведение сравнения и темпа изменилось; v3 продолжает работать | нет |