chore(agent): версия 10, README и решения агента для комментариев (#27)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
f5ea74bbcd
commit
06375b9d90
@ -48,7 +48,7 @@
|
|||||||
## Первая подсистема
|
## Первая подсистема
|
||||||
Исполнитель команд и цикл агента (спека `agent/spec.md`, `commands/spec.md`) — реализованы целиком: все типы команд,
|
Исполнитель команд и цикл агента (спека `agent/spec.md`, `commands/spec.md`) — реализованы целиком: все типы команд,
|
||||||
журнал, восстановление после перезапуска, CLI `run|check|selftest|prune`, самообновление через `run.py`.
|
журнал, восстановление после перезапуска, CLI `run|check|selftest|prune`, самообновление через `run.py`.
|
||||||
Последний change — `../jira-hub/openspec/changes/archive/2026-10-15-agent-v9-hardening/` (решения агента — `openspec/changes/archive/2026-10-15-agent-v9-hardening/design.md`), план — `docs/superpowers/plans/2026-10-14-agent-v9-hardening-agent.md`.
|
Последний change — `../jira-hub/openspec/changes/issue-card-modal/` (агент v10: комментарии в состоянии; решения агента — `openspec/changes/agent-v10-comments/design.md`), план — `docs/superpowers/plans/2026-10-15-agent-v10-comments.md`.
|
||||||
План и спека живут в `jira-hub`: `openspec/changes/bridge-core/` и `docs/superpowers/plans/2026-10-11-bridge-core-hub.md`; план агента лежит здесь: `docs/superpowers/plans/2026-10-11-bridge-core-agent.md`.
|
План и спека живут в `jira-hub`: `openspec/changes/bridge-core/` и `docs/superpowers/plans/2026-10-11-bridge-core-hub.md`; план агента лежит здесь: `docs/superpowers/plans/2026-10-11-bridge-core-agent.md`.
|
||||||
|
|
||||||
## Выкатка новой версии
|
## Выкатка новой версии
|
||||||
|
|||||||
@ -235,6 +235,9 @@ python3 agent.py prune
|
|||||||
4. **Особенности `refresh`.** В `result.issues` попадают только запрошенные задачи, соседи по связям — в
|
4. **Особенности `refresh`.** В `result.issues` попадают только запрошенные задачи, соседи по связям — в
|
||||||
`result.neighbors`. Если `jql` вернул пустую выдачу, состояние в хаб не отправляется (`pages = 0`).
|
`result.neighbors`. Если `jql` вернул пустую выдачу, состояние в хаб не отправляется (`pages = 0`).
|
||||||
Отсутствующие ключи при `refresh` по `keys` попадают в `result.missing` (не больше 50).
|
Отсутствующие ключи при `refresh` по `keys` попадают в `result.missing` (не больше 50).
|
||||||
|
С v10 у каждой задачи состояния есть `comments` — все комментарии задачи (автор — отображаемое имя, иначе логин; время
|
||||||
|
и текст — как в Jira). Они приходят тем же `search`; если Jira отдала не все, агент дочитывает их через
|
||||||
|
`/issue/{key}/comment`.
|
||||||
5. **Сравнение текстов без различия переводов строк.** Описание и тело комментария сравниваются после замены `\r\n` на
|
5. **Сравнение текстов без различия переводов строк.** Описание и тело комментария сравниваются после замены `\r\n` на
|
||||||
`\n` (Jira хранит правленное в UI с `\r\n`); отправляется текст команды как есть. Прочие различия (пробелы,
|
`\n` (Jira хранит правленное в UI с `\r\n`); отправляется текст команды как есть. Прочие различия (пробелы,
|
||||||
завершающий перевод строки) — изменение.
|
завершающий перевод строки) — изменение.
|
||||||
|
|||||||
2
openspec/changes/agent-v10-comments/.openspec.yaml
Normal file
2
openspec/changes/agent-v10-comments/.openspec.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
schema: spec-driven
|
||||||
|
created: 2026-10-15
|
||||||
16
openspec/changes/agent-v10-comments/design.md
Normal file
16
openspec/changes/agent-v10-comments/design.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# agent-v10-comments — решения агента
|
||||||
|
|
||||||
|
Спека и дизайн изменения — в `jira-hub/openspec/changes/issue-card-modal/` (issue aep/jira-hub#37, aep/jira-agent#27).
|
||||||
|
Агентская часть — решения 1–4 дизайна хаба (поле `comment` в `search`, дочитывание, форма комментария, версия и выкатка)
|
||||||
|
и требование `agent` «Чтение состояния».
|
||||||
|
|
||||||
|
Решения владельца 15.10.2026 (brainstorming jira-hub#37): комментарии задачи нужны в карточке веб-приложения; два change
|
||||||
|
по репозиториям, сначала агент; автор — отображаемое имя, как в Jira над комментарием.
|
||||||
|
|
||||||
|
## Decisions made without discussion
|
||||||
|
|
||||||
|
Рулинги R-1…R-5 записаны в `jira-hub/openspec/changes/issue-card-modal/design.md`
|
||||||
|
(раздел «Decisions made without discussion»); здесь — только решения, принятые при исполнении агентской части.
|
||||||
|
|
||||||
|
| Маркер | Дата | Решение | Обоснование | Цена ошибки |
|
||||||
|
|---|---|---|---|---|
|
||||||
@ -33,7 +33,7 @@ import uuid
|
|||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
AGENT_VERSION = 9
|
AGENT_VERSION = 10
|
||||||
EXIT_LOCKED = 73 # «журнал занят другим процессом»: для run.py это не сбой версии (design 8)
|
EXIT_LOCKED = 73 # «журнал занят другим процессом»: для run.py это не сбой версии (design 8)
|
||||||
EXIT_UPDATE = 75 # «обновление готово»: run.py подменит agent.py на agent.py.new
|
EXIT_UPDATE = 75 # «обновление готово»: run.py подменит agent.py на agent.py.new
|
||||||
HERE = os.path.dirname(os.path.abspath(__file__))
|
HERE = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|||||||
@ -158,7 +158,7 @@ class FolderIntegrationTest(unittest.TestCase):
|
|||||||
return jira_cfg(self.fake, hub_url="folder:" + self.root, hub_token=self.hub.token)
|
return jira_cfg(self.fake, hub_url="folder:" + self.root, hub_token=self.hub.token)
|
||||||
|
|
||||||
def test_version_is_9(self):
|
def test_version_is_9(self):
|
||||||
self.assertEqual(agent.AGENT_VERSION, 9)
|
self.assertEqual(agent.AGENT_VERSION, 10)
|
||||||
|
|
||||||
def test_runner_through_folder(self):
|
def test_runner_through_folder(self):
|
||||||
self.fake.add("AURORA-1", duedate="2026-10-20")
|
self.fake.add("AURORA-1", duedate="2026-10-20")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user