Follow-ups from #1 #4

Closed
opened 2026-10-12 20:50:04 +03:00 by aep · 6 comments
Owner

Отложенные находки из #1 (PR #2). Формат: маркер — суть — откуда.

Приоритетные

  • R-11 / O-9 — агент передаёт jira_user в claim; пункт в спеках data-model/agent; без этого ensure_issue не подтверждается по состоянию — рулинг контроллера хаба
  • O-3 (агент) — check_confirmed (commands.py) считает входящую связь симметричного типа конфликтом, агент — existed — финальный отчёт агента
  • M-11 (агент) — report_result принимает отчёт по queued-команде; две ensure_issue с одной темой в пакете сопоставятся с одной задачей (см. T4.11) — финальный отчёт агента
  • T7.3 — строки epics.csv без «Ключ» пропускаются (спека: new:<номер строки>) — ревью Task 7
  • M-2 — claim при мёртвом соединении агента оставляет claimed — финальное ревью
  • M-5 — поздний отчёт по force-отменённой ensure_issue теряет созданный ключ — финальное ревью
  • M-7 — права 0700 на каталог данных с токенами — финальное ревью
  • M-8 / T6.12 — serve --port не виден MCP; HubClient.from_home пишет в БД — финальное ревью / Task 6
  • M-3 — rename_note удаляет заметку по настоящему ключу вместо слияния — финальное ревью
  • M-4 — пространство имён new:<строка> импорта делится с temp_key пакетов — финальное ревью
  • T5.4 — first команда пакета ненадёжна при отмене/skip первой — Task 5
  • T5.6 — _status_of: cancelled пакет с done claimed показывается done — Task 5
  • T5.11 — maybe_auto_refresh check-then-create вне транзакции — Task 5
  • T6.5, T6.6 — неизвестный маршрут 404 без токена; другие методы → HTML 501, не JSON — Task 6
  • T9.1 — traceback в CLI при плохом --config/папке — Task 9
  • T1.1 — гонка двух процессов migrate на новой базе — Task 1

Расхождения со спекой (финальное ревью)

  • нет настройки sprint_names
  • нет миграции по номеру версии схемы (T1.2)
  • agent_status отдаёт online вместо offline
  • хаб не обрезает error до 1500 символов
  • GET /issues отдаёт полные строки, а не компактные карточки
  • коды 413/500/HTML 501 сверх перечня
  • автообновление от sync_run, а не «очередь пуста» (T5.16)
  • page/last_page игнорируются (T6.10)
  • MCP refresh возвращает вид пакета

Minor

  • M-6 — check_same_thread=False; migrate на каждом connect
  • M-9 / O-4 — ResourceWarning в test_commands/test_queue/test_settings/test_mirror
  • M-10 — пробелы тестов: min_agent_version warning, settings_version в claim, offline, tick без ассертов
  • M-11 (хаб) — is_full_refresh сравнивает jql с текущим base_jql
  • M-12 — полный прогон с 0 задач (ошибка JQL) пометит всех соседями
  • T1.3–T1.5; T2.1–T2.5; T3.3–T3.8, T3.11; T4.4–T4.14; T5.7–T5.10, T5.12–T5.15, T5.17, T5.18; T6.7–T6.9, T6.11, T6.13, T6.14, T6.17–T6.19, T6.21; T7.4–T7.7, T7.8 (частично), T7.9–T7.11; T8.3, T8.4, T8.7–T8.10; T9.2–T9.6; T10.5, T10.6 — ревью задач, полные формулировки в описании PR #2

Не сделано из чеклиста закрытия

  • живая проверка: launchd для serve, регистрация MCP в ~/.claude.json, совместимость mcp 1.x с клиентом, сквозной прогон с реальным агентом (потеря отчёта, stale, force-cancel)
Отложенные находки из #1 (PR #2). Формат: маркер — суть — откуда. ## Приоритетные - R-11 / O-9 — агент передаёт `jira_user` в claim; пункт в спеках data-model/agent; без этого `ensure_issue` не подтверждается по состоянию — рулинг контроллера хаба - O-3 (агент) — `check_confirmed` (commands.py) считает входящую связь симметричного типа конфликтом, агент — existed — финальный отчёт агента - M-11 (агент) — `report_result` принимает отчёт по queued-команде; две `ensure_issue` с одной темой в пакете сопоставятся с одной задачей (см. T4.11) — финальный отчёт агента - T7.3 — строки `epics.csv` без «Ключ» пропускаются (спека: `new:<номер строки>`) — ревью Task 7 - M-2 — claim при мёртвом соединении агента оставляет `claimed` — финальное ревью - M-5 — поздний отчёт по force-отменённой `ensure_issue` теряет созданный ключ — финальное ревью - M-7 — права 0700 на каталог данных с токенами — финальное ревью - M-8 / T6.12 — `serve --port` не виден MCP; `HubClient.from_home` пишет в БД — финальное ревью / Task 6 - M-3 — `rename_note` удаляет заметку по настоящему ключу вместо слияния — финальное ревью - M-4 — пространство имён `new:<строка>` импорта делится с `temp_key` пакетов — финальное ревью - T5.4 — `first` команда пакета ненадёжна при отмене/skip первой — Task 5 - T5.6 — `_status_of`: cancelled пакет с done claimed показывается done — Task 5 - T5.11 — `maybe_auto_refresh` check-then-create вне транзакции — Task 5 - T6.5, T6.6 — неизвестный маршрут 404 без токена; другие методы → HTML 501, не JSON — Task 6 - T9.1 — traceback в CLI при плохом `--config`/папке — Task 9 - T1.1 — гонка двух процессов `migrate` на новой базе — Task 1 ## Расхождения со спекой (финальное ревью) - нет настройки `sprint_names` - нет миграции по номеру версии схемы (T1.2) - `agent_status` отдаёт online вместо offline - хаб не обрезает `error` до 1500 символов - `GET /issues` отдаёт полные строки, а не компактные карточки - коды 413/500/HTML 501 сверх перечня - автообновление от `sync_run`, а не «очередь пуста» (T5.16) - `page/last_page` игнорируются (T6.10) - MCP `refresh` возвращает вид пакета ## Minor - M-6 — `check_same_thread=False`; migrate на каждом connect - M-9 / O-4 — ResourceWarning в test_commands/test_queue/test_settings/test_mirror - M-10 — пробелы тестов: min_agent_version warning, settings_version в claim, offline, tick без ассертов - M-11 (хаб) — `is_full_refresh` сравнивает jql с текущим `base_jql` - M-12 — полный прогон с 0 задач (ошибка JQL) пометит всех соседями - T1.3–T1.5; T2.1–T2.5; T3.3–T3.8, T3.11; T4.4–T4.14; T5.7–T5.10, T5.12–T5.15, T5.17, T5.18; T6.7–T6.9, T6.11, T6.13, T6.14, T6.17–T6.19, T6.21; T7.4–T7.7, T7.8 (частично), T7.9–T7.11; T8.3, T8.4, T8.7–T8.10; T9.2–T9.6; T10.5, T10.6 — ревью задач, полные формулировки в описании PR #2 ## Не сделано из чеклиста закрытия - живая проверка: launchd для `serve`, регистрация MCP в `~/.claude.json`, совместимость mcp 1.x с клиентом, сквозной прогон с реальным агентом (потеря отчёта, stale, force-cancel)
Author
Owner

Закрыты PR #10 (merge fa26faf, #9): R-11 / O-9 (закрыт довыдачей: ensure_issue по состоянию не подтверждается, потерянный отчёт — довыдача и поиск дубля агентом), O-3 (reversed_links в отчёте импорта), M-11 (409 на отчёт по queued, 422 на дубль темы в пакете), M-2 (довыдача команды без отчёта), M-5 (ключ из позднего отчёта по отменённой ensure_issue), расхождение agent_status online/offline (спека приведена к коду). Остальные пункты открыты.

Закрыты PR #10 (merge fa26faf, #9): R-11 / O-9 (закрыт довыдачей: ensure_issue по состоянию не подтверждается, потерянный отчёт — довыдача и поиск дубля агентом), O-3 (reversed_links в отчёте импорта), M-11 (409 на отчёт по queued, 422 на дубль темы в пакете), M-2 (довыдача команды без отчёта), M-5 (ключ из позднего отчёта по отменённой ensure_issue), расхождение agent_status online/offline (спека приведена к коду). Остальные пункты открыты.
Author
Owner

Пакет D — разбор хвоста против main c6aa2ed, решения владельца 14.10.2026.

В пакет C (кроме уже запланированных hub#8, hub#12):

  • M-7 — chmod 0700 на каталог данных и backups/ (сейчас 0755/0644, в базе токены)
  • M-3 (PR #2) — rename_note сливает заметки вместо удаления заметки под настоящим ключом (mirror.py)
  • T5.6 — отменённый пакет с частью выполненных команд показывается cancelled, а не done
  • обрезка error до 1500 символов в report_result (спека уже требует)
  • M-12 — полный прогон с 0 задач не сбрасывает соседей
  • T3.7 (агентский, сторона хаба) — требование передавать базовые labels в docstring batch_create
  • спеки к коду: убрать sprint_names; коды 413/500/502/501; page/last_page необязательны; GET /issues — поля зеркала; автообновление от sync_run (T5.16); MCP refresh — id пакета (T6.10 и прочие расхождения); new:<строка> только для new_tasks.csv (T7.3)
  • попутно: ARCHITECTURE.md — relay_dir и folder:

Отклонено:

  • T1.2 — закрыт схемой v2 (PR #10)
  • M-4, M-8/T6.12, T5.4, T5.11, T6.5, T6.6, T9.1, T1.1, M-6, M-11 (хаб) — вред возможен только при нескольких пользователях/процессах, ручном --port или повторном импорте; мост однопользовательский
  • T1.3–T1.5; T2.1–T2.5; T3.3–T3.8, T3.11; T4.4–T4.14; T5.7–T5.10, T5.12–T5.15, T5.17, T5.18; T6.7–T6.9, T6.11, T6.13, T6.14, T6.17–T6.19, T6.21; T7.4–T7.11; T8.3, T8.4, T8.7–T8.10; T9.2–T9.6; T10.5, T10.6 — текст ревью утрачен (в PR #2 только номера, ledger удалён), проверить нечего

На потом: M-9/O-4 (ResourceWarning в тестах), M-10 (пробелы тестов).

Чеклист закрытия, сквозной прогон: launchd, MCP, миграция v1→v2, реле, Ctrl-C в паузе — проверены вживую. Потеря отчёта, stale/довыдача, force-cancel — пока только юнит-тесты; живая проверка отдельно (решение владельца — вернуться позже).

Пакет D — разбор хвоста против main c6aa2ed, решения владельца 14.10.2026. **В пакет C** (кроме уже запланированных hub#8, hub#12): - M-7 — `chmod 0700` на каталог данных и `backups/` (сейчас 0755/0644, в базе токены) - M-3 (PR #2) — `rename_note` сливает заметки вместо удаления заметки под настоящим ключом (`mirror.py`) - T5.6 — отменённый пакет с частью выполненных команд показывается `cancelled`, а не `done` - обрезка `error` до 1500 символов в `report_result` (спека уже требует) - M-12 — полный прогон с 0 задач не сбрасывает соседей - T3.7 (агентский, сторона хаба) — требование передавать базовые `labels` в docstring `batch_create` - спеки к коду: убрать `sprint_names`; коды 413/500/502/501; `page`/`last_page` необязательны; `GET /issues` — поля зеркала; автообновление от `sync_run` (T5.16); MCP `refresh` — id пакета (T6.10 и прочие расхождения); `new:<строка>` только для `new_tasks.csv` (T7.3) - попутно: `ARCHITECTURE.md` — `relay_dir` и `folder:` **Отклонено:** - T1.2 — закрыт схемой v2 (PR #10) - M-4, M-8/T6.12, T5.4, T5.11, T6.5, T6.6, T9.1, T1.1, M-6, M-11 (хаб) — вред возможен только при нескольких пользователях/процессах, ручном `--port` или повторном импорте; мост однопользовательский - T1.3–T1.5; T2.1–T2.5; T3.3–T3.8, T3.11; T4.4–T4.14; T5.7–T5.10, T5.12–T5.15, T5.17, T5.18; T6.7–T6.9, T6.11, T6.13, T6.14, T6.17–T6.19, T6.21; T7.4–T7.11; T8.3, T8.4, T8.7–T8.10; T9.2–T9.6; T10.5, T10.6 — текст ревью утрачен (в PR #2 только номера, ledger удалён), проверить нечего **На потом:** M-9/O-4 (ResourceWarning в тестах), M-10 (пробелы тестов). **Чеклист закрытия, сквозной прогон:** launchd, MCP, миграция v1→v2, реле, Ctrl-C в паузе — проверены вживую. Потеря отчёта, stale/довыдача, force-cancel — пока только юнит-тесты; живая проверка отдельно (решение владельца — вернуться позже).
Author
Owner

PR #14 (merge 01fd588, #13, пакет C) закрыл по разбору D: M-7 (каталог 0700), M-3 PR#2 (слияние заметок), T5.6 (статус cancelled), обрезка error до 1500, M-12 (пустой полный прогон), T3.7 (подсказка про labels в batch_create), расхождения со спекой (sprint_names, коды ответов, page/last_page, GET /issues, автообновление T5.16, MCP refresh T6.10, T1.2), T7.3 (new:<строка> только new_tasks.csv). Отклонённые — см. комментарий разбора D. Открыты «на потом»: M-9/O-4 (ResourceWarning в тестах), M-10 (пробелы тестов); живая проверка из чеклиста закрытия (потеря отчёта, stale/довыдача, force-cancel) — отдельно.

PR #14 (merge 01fd588, #13, пакет C) закрыл по разбору D: M-7 (каталог 0700), M-3 PR#2 (слияние заметок), T5.6 (статус cancelled), обрезка error до 1500, M-12 (пустой полный прогон), T3.7 (подсказка про labels в batch_create), расхождения со спекой (sprint_names, коды ответов, page/last_page, GET /issues, автообновление T5.16, MCP refresh T6.10, T1.2), T7.3 (new:<строка> только new_tasks.csv). Отклонённые — см. комментарий разбора D. Открыты «на потом»: M-9/O-4 (ResourceWarning в тестах), M-10 (пробелы тестов); живая проверка из чеклиста закрытия (потеря отчёта, stale/довыдача, force-cancel) — отдельно.
Author
Owner

Живая проверка 14.10.2026 на Jira банка (агент v4, хаб после пакета C; тестовые задачи AURORA-1620/1621, переведены в «Готово»; сценарий — admin/bridge-live-check-2026-10-14.md):

  • force-cancel ensure_issue во время паузы (пакет #24): агент создал AURORA-1620, поздний отчёт принят — команда cancelled, ключ в result, заметка new:901 перенесена, зависимая ensure_comment — skipped ✅
  • потерянный отчёт (пакет #27: реле выключено во время паузы, Ctrl-C, реле включено, перезапуск): отчёт дослан из журнала, done, deliveries 1, Jira повторно не трогалась ✅
  • довыдача (пакет #29: Ctrl-C в паузе, журнал удалён, перезапуск): та же команда выдана снова, deliveries 2, выполнена один раз ✅ (без журнала — без паузы темпа, как описано в README агента)
    Пункт «сквозной прогон с реальным агентом (потеря отчёта, stale, force-cancel)» чеклиста закрытия выполнен. В hub#4 остаются «на потом»: M-9/O-4, M-10.
Живая проверка 14.10.2026 на Jira банка (агент v4, хаб после пакета C; тестовые задачи AURORA-1620/1621, переведены в «Готово»; сценарий — admin/bridge-live-check-2026-10-14.md): - force-cancel ensure_issue во время паузы (пакет #24): агент создал AURORA-1620, поздний отчёт принят — команда cancelled, ключ в result, заметка new:901 перенесена, зависимая ensure_comment — skipped ✅ - потерянный отчёт (пакет #27: реле выключено во время паузы, Ctrl-C, реле включено, перезапуск): отчёт дослан из журнала, done, deliveries 1, Jira повторно не трогалась ✅ - довыдача (пакет #29: Ctrl-C в паузе, журнал удалён, перезапуск): та же команда выдана снова, deliveries 2, выполнена один раз ✅ (без журнала — без паузы темпа, как описано в README агента) Пункт «сквозной прогон с реальным агентом (потеря отчёта, stale, force-cancel)» чеклиста закрытия выполнен. В hub#4 остаются «на потом»: M-9/O-4, M-10.
Author
Owner

PR #36 (merge cbc86be) закрыл M-9/O-4 (ea37d54, утечка соединения теперь ломает набор) и M-10 (1f1dad6, тесты min_agent_version, офлайн, tick). Остальные пункты issue остаются открытыми.

PR #36 (merge cbc86be) закрыл M-9/O-4 (ea37d54, утечка соединения теперь ломает набор) и M-10 (1f1dad6, тесты min_agent_version, офлайн, tick). Остальные пункты issue остаются открытыми.
Author
Owner

Сверка с main 1405ccd (25.10.2026). Приоритетные находки и расхождения со спекой исправлены (PR #10, #14, #36), живая проверка пройдена 14.10. Минорные T-номера из PR #2 без текста — проверить нечем.

Не исправлены осознанно (rejected владельцем 14.10, мост однопользовательский): M-4, M-8/T6.12, T5.4, T5.11, T6.5, T6.6, T9.1, M-6, M-11 (хаб).

O-3 (check_confirmed: входящая связь симметричного типа считается конфликтом, modules/jira/commands.py:291-294) не рассматривался — переносится в пакет «бэкенд хаба». Закрываю.

Сверка с main 1405ccd (25.10.2026). Приоритетные находки и расхождения со спекой исправлены (PR #10, #14, #36), живая проверка пройдена 14.10. Минорные T-номера из PR #2 без текста — проверить нечем. Не исправлены осознанно (rejected владельцем 14.10, мост однопользовательский): M-4, M-8/T6.12, T5.4, T5.11, T6.5, T6.6, T9.1, M-6, M-11 (хаб). O-3 (`check_confirmed`: входящая связь симметричного типа считается конфликтом, `modules/jira/commands.py:291-294`) не рассматривался — переносится в пакет «бэкенд хаба». Закрываю.
aep closed this issue 2026-10-25 21:42:01 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/sdlc-hub#4
No description provided.