Пакет C: гигиена агента моста, v4 (bridge-hygiene, #15) #16

Merged
aep merged 7 commits from feat/15-bridge-hygiene into main 2026-10-14 12:22:20 +03:00
Owner

Пакет C моста, агентская часть change bridge-hygiene (спека — aep/jira-hub openspec/changes/bridge-hygiene/, решения 16–21; агентские решения — openspec/changes/bridge-hygiene/design.md). Closes #15. Закрывает agent#8, agent#12 (кроме O-1 — живая проверка ensure_link) и часть agent#4. Хабовая часть — aep/jira-hub PR (feat/13-bridge-hygiene).

Что изменено (агент v4)

  • Описание (ensure_fields) и тело комментария (ensure_comment) сравниваются без различия \r\n/\n; отправляется текст команды как есть (T3.9 agent#4, решение владельца).
  • Время последней записи журнала в будущем — полная пауза (M-6 agent#12); в claim уходит только время настоящего вызова Jira (M-7 agent#12, решение владельца).
  • Ответ папки с неверными типами status/body — ConnectionError, агент не падает (M-2 agent#8); текст ошибки без «хаб: хаб» (O-3 agent#8).
  • prune под блокировкой журнала: при работающем агенте — отказ, код 1 (T2.3 agent#4); версия 4; README, ARCHITECTURE.md, CLAUDE.md; .wt/ в .gitignore.
  • O-2 agent#8 — то же, что закрытый M-9 (PR #10); без кода.

Проверки

  • /usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t . — 148 OK (было 141).
  • Исполнение: executing-plans (основная сессия), финальное ревью opus.

Находки

Маркер Суть Статус
I-1 (финальное) ARCHITECTURE.md/CLAUDE.md: «prune без блокировки», неверные ссылки на пункты README, нет cmd_prune fixed fc0f448
M-1 (финальное) body: null допускается вопреки тексту спеки rejected: поведение оставлено (совместимость), спека уточнена — R-13
M-2 (финальное) вторая строка лога restore_pace печатает будущее время как оценку deferred
M-3 (финальное) нет теста «будущий журнал → остановка в паузе» deferred
M-4 (финальное) рулинг без маркера и записи в design.md fixed fc0f448 (R-12, R-13)
M-5 (финальное) избыточный int(... or 0) в _take deferred
M-6 (финальное) ошибка хаба в refresh через папку без подлежащего и с текстом «обрыв связи с Jira» deferred

Rulings I made

  • R-11 (design #21 хаба) — версия 4, min_agent_version не поднимается; цена: нет.
  • R-12 — README перенумерован после снятия ограничения «prune без блокировки», ссылки в README и ARCHITECTURE.md выправлены; цена: неверная ссылка в документации.
  • R-13 — ответ папки с body: null/без body — пустое тело; цена: нет.

Deferred

M-2, M-3, M-5, M-6 финального ревью — в follow-up issue при закрытии. «На потом» из разбора D: M-10 (точность фейков) agent#4.

Выкатка

Остановить v3 (Ctrl-C), положить agent.py v4 в корень RSHB/, на виртуалке скопировать в ~/jira-agent-bundle, check, run; agent_status — версия 4.

🤖 Generated with Claude Code

Пакет C моста, агентская часть change `bridge-hygiene` (спека — `aep/jira-hub` `openspec/changes/bridge-hygiene/`, решения 16–21; агентские решения — `openspec/changes/bridge-hygiene/design.md`). Closes #15. Закрывает agent#8, agent#12 (кроме O-1 — живая проверка `ensure_link`) и часть agent#4. Хабовая часть — aep/jira-hub PR (feat/13-bridge-hygiene). ## Что изменено (агент v4) - Описание (`ensure_fields`) и тело комментария (`ensure_comment`) сравниваются без различия `\r\n`/`\n`; отправляется текст команды как есть (T3.9 agent#4, решение владельца). - Время последней записи журнала в будущем — полная пауза (M-6 agent#12); в `claim` уходит только время настоящего вызова Jira (M-7 agent#12, решение владельца). - Ответ папки с неверными типами `status`/`body` — `ConnectionError`, агент не падает (M-2 agent#8); текст ошибки без «хаб: хаб» (O-3 agent#8). - `prune` под блокировкой журнала: при работающем агенте — отказ, код 1 (T2.3 agent#4); версия 4; README, ARCHITECTURE.md, CLAUDE.md; `.wt/` в `.gitignore`. - O-2 agent#8 — то же, что закрытый M-9 (PR #10); без кода. ## Проверки - `/usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .` — 148 OK (было 141). - Исполнение: executing-plans (основная сессия), финальное ревью opus. ## Находки | Маркер | Суть | Статус | |---|---|---| | I-1 (финальное) | ARCHITECTURE.md/CLAUDE.md: «prune без блокировки», неверные ссылки на пункты README, нет `cmd_prune` | fixed fc0f448 | | M-1 (финальное) | `body: null` допускается вопреки тексту спеки | rejected: поведение оставлено (совместимость), спека уточнена — R-13 | | M-2 (финальное) | вторая строка лога `restore_pace` печатает будущее время как оценку | deferred | | M-3 (финальное) | нет теста «будущий журнал → остановка в паузе» | deferred | | M-4 (финальное) | рулинг без маркера и записи в design.md | fixed fc0f448 (R-12, R-13) | | M-5 (финальное) | избыточный `int(... or 0)` в `_take` | deferred | | M-6 (финальное) | ошибка хаба в `refresh` через папку без подлежащего и с текстом «обрыв связи с Jira» | deferred | ## Rulings I made - R-11 (design #21 хаба) — версия 4, `min_agent_version` не поднимается; цена: нет. - R-12 — README перенумерован после снятия ограничения «prune без блокировки», ссылки в README и ARCHITECTURE.md выправлены; цена: неверная ссылка в документации. - R-13 — ответ папки с `body: null`/без `body` — пустое тело; цена: нет. ## Deferred M-2, M-3, M-5, M-6 финального ревью — в follow-up issue при закрытии. «На потом» из разбора D: M-10 (точность фейков) agent#4. ## Выкатка Остановить v3 (Ctrl-C), положить `agent.py` v4 в корень `RSHB/`, на виртуалке скопировать в `~/jira-agent-bundle`, `check`, `run`; `agent_status` — версия 4. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 7 commits 2026-10-14 12:15:38 +03:00
aep merged commit 1170e85f06 into main 2026-10-14 12:22:20 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/jira-agent#16
No description provided.