fix: довезти upstream-поведение issue-comment роутов после merge v2026.626.0 [CL-SYNC-DRIFT] #174

Merged
andrei merged 2 commits from feature/claude-annotation-wake-drift into master 2026-07-04 21:57:17 +00:00
Owner

Что сделано

Два рассинхрона код-против-тестов одного upstream-снапшота, вскрытые suite после порт-фикса CI (PR #169):

  1. Удалён queueAnnotationCommentWakeup и оба вызова из issues.ts — фича введена upstream #7678 и ревертнута #7765/#7766; в upstream master её нет, наш merge её удержал. Annotation-комментарий будил assignee вопреки канону (master run 35529).
  2. DELETE /issues/:id/comments/:commentId заменён upstream-версией: добавлена tombstone-ветка (tombstoneComment + reference/external sync + annotation cleanup); у нас оставалась старая queue-cancel-only версия, любой обычный комментарий получал 409. Все сервисные методы уже были в кодовой базе.

Зачем

Agents CI / API Tests слой за слоем вскрывает партию PIX-13034; эти два слоя — не stale-тесты, а реальные потери upstream-поведения при [CL-SYNC] merge (проверено сравнением с github.com/paperclipai/paperclip master и историей #7678/#7765/#7766).

План тестирования

  • Локально: document-annotation-routes + issue-comment-cancel-routes — 12/12 passed; typecheck сервера exit 0.
  • Красное состояние воспроизведено на чистом master в отдельном worktree (2/6).
  • CI этого PR прогонит suite дальше.

Где могу ошибаться

  • Порт хэндлера дословный; если upstream позже менял смежный код выше/ниже хэндлера, мог остаться другой рассинхрон — вскроет CI.
  • Удаление wake-фичи меняет поведение для агентов, привыкших к пробуждению от annotation-комментариев — но канон upstream и наш тест требуют именно этого.
## Что сделано Два рассинхрона код-против-тестов одного upstream-снапшота, вскрытые suite после порт-фикса CI (PR #169): 1. Удалён `queueAnnotationCommentWakeup` и оба вызова из `issues.ts` — фича введена upstream #7678 и ревертнута #7765/#7766; в upstream master её нет, наш merge её удержал. Annotation-комментарий будил assignee вопреки канону (master run 35529). 2. `DELETE /issues/:id/comments/:commentId` заменён upstream-версией: добавлена tombstone-ветка (`tombstoneComment` + reference/external sync + annotation cleanup); у нас оставалась старая queue-cancel-only версия, любой обычный комментарий получал 409. Все сервисные методы уже были в кодовой базе. ## Зачем `Agents CI / API Tests` слой за слоем вскрывает партию PIX-13034; эти два слоя — не stale-тесты, а реальные потери upstream-поведения при [CL-SYNC] merge (проверено сравнением с github.com/paperclipai/paperclip master и историей #7678/#7765/#7766). ## План тестирования - Локально: `document-annotation-routes` + `issue-comment-cancel-routes` — 12/12 passed; typecheck сервера exit 0. - Красное состояние воспроизведено на чистом master в отдельном worktree (2/6). - CI этого PR прогонит suite дальше. ## Где могу ошибаться - Порт хэндлера дословный; если upstream позже менял смежный код выше/ниже хэндлера, мог остаться другой рассинхрон — вскроет CI. - Удаление wake-фичи меняет поведение для агентов, привыкших к пробуждению от annotation-комментариев — но канон upstream и наш тест требуют именно этого.
[CL-SYNC-DRIFT] fix(server): довезти upstream-поведение issue-comment роутов, потерянное при merge v2026.626.0
Some checks failed
security/pr-scan No security concerns detected
PR Quality Gates / PR Quality Gates (pull_request_target) Failing after 5s
Agents CI / API Tests (pull_request) Has been cancelled
Agents CI / Typecheck and Build (pull_request) Has been cancelled
e02cf67911
Два рассинхрона кода с тестами того же снапшота (suite вскрыл после порт-фикса CI):

1. document-annotation: queueAnnotationCommentWakeup (введён upstream #7678,
   ревертнут #7765/#7766, в upstream master отсутствует) остался у нас после
   merge — annotation-комментарий будил assignee вопреки канону. Helper и оба
   вызова удалены (master run 35529: wakeup вызван, тест ждёт обратного).

2. DELETE /issues/:id/comments/:commentId: у нас осталась старая версия только
   с queue-cancel (409 на любой обычный комментарий), upstream добавил
   tombstone-ветку (tombstoneComment + reference/external sync + annotation
   cleanup). Хэндлер заменён upstream-версией дословно; все сервисные методы
   (tombstoneComment, cleanupForIssueCommentDeletion, syncCommentSafely) уже
   были довезены. Красное: issue-comment-cancel-routes 2/6 на чистом master
   (проверено отдельным worktree). Локально после порта: оба файла 12/12,
   typecheck чистый.

All checks passing — ready for review and maintainer approval.

— paperclip-gates

✅ All checks passing — ready for review and maintainer approval. — paperclip-gates
[CL-SYNC-DRIFT] test(server): регрессионный тест идемпотентного повторного DELETE комментария
Some checks failed
security/pr-scan No security concerns detected
PR Quality Gates / PR Quality Gates (pull_request_target) Successful in 11s
Agents CI / Typecheck and Build (pull_request) Successful in 6m41s
Agents CI / API Tests (pull_request) Failing after 10m35s
451890dfe7
Ветка comment.deletedAt портированного хэндлера (возврат существующего
tombstone без повторного удаления) не была покрыта. Фикстура создаётся до
старта активного рана, чтобы queued-cancel ветка не перехватывала запрос.
Локально 7/7.
andrei merged commit 0c38c606ea into master 2026-07-04 21:57:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europa-tech-agents!174
No description provided.