[PIX-12937] Merge-очередь orphan-веток партия 2 (12 веток) #160
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "merge/pix-12937-batch2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
Влиты 12 orphan-веток из аудита PIX-12932 (batch 2): agent/fullstack/pix-13055, pix-12998, pix-12993, pix-12985, pix-12212, pix-11638, pix-11528, pix-11433, pix-12682; agent/devops/pix-13883, pix-13218, pix-13138.
В ходе перебазирования исправлены реальные баги, обнаруженные при typecheck/тестах:
Зачем
Эти ветки содержат уникальную работу (багфиксы, тесты, фичи), которая не была влита в master. Дочерняя задача от orphan-branch audit PIX-12932.
План тестирования
pnpm --filter @paperclipai/server exec tsc --noEmit— 0 ошибокnode scripts/check-no-git-push.mjs— 0 нарушений (ложное срабатывание на тестовых строках-фикстурах закрыто маркером paperclip:allow-git-push)Где могу ошибаться
vitest runпо всему workspace не запускался в рамках этого heartbeat (только targeted-тесты для изменённых файлов) из-за бюджета времени — рекомендую отдельный CI-прогон перед мержем.Добавлен лёгкий endpoint для получения pending одобрений текущего агента. - Новый endpoint GET /api/agents/me/approvals-lite возвращает одобрения агента в упрощённом формате - Требует аутентификации агента - Фильтрует одобрения по ID агента (requestedByAgentId) - Возвращает структуру { data: [], total: 0 } - Добавлены unit тесты для проверки логики фильтрации и аутентификации - Исправлено: добавлен paperclip:allow-git-push комментарий к error message в git-delivery-gate.ts PIX-12948: Нужен лёгкий endpoint для получения pending одобрений агента для autonomy-refill и других системных операций. - pnpm typecheck: ✅ 0 ошибок - pnpm check:no-git-push: ✅ проверка успешна - Unit тесты для логики фильтрации и аутентификации: ✅ - Endpoint правильно проверяет agent authentication - Правильно фильтрует одобрения по requestedByAgentId Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> (cherry picked from commite6cec52f34)- Add POST /api/issues/{id}/low-trust/promotions endpoint - Route validates checkout ownership via assertAgentIssueMutationAllowed - Creates work product artifact from quarantined output - Includes activity logging and recovery revalidation - Fixes regression: 2 tests now passing (peer rejection, cheap recovery block) (cherry picked from commit33dd0d6335)- heartbeat.ts: reconcileProcesslessRunsTargetingTerminalIssues ссылался на несуществующую колонку heartbeatRuns.issueId; исправлено на join через issues.executionRunId = heartbeatRuns.id - heartbeat.ts: некорректный generic-тип Parameters<typeof db.update<...>> заменён на устоявшийся в файле паттерн Partial<typeof heartbeatRuns.$inferInsert> - routes/issues.ts: /issues/:id/low-trust/promotions не передавал обязательное поле status в createForIssue - heartbeat-processless-run-reconciliation.test.ts: тест был недописан (db никогда не инициализировался) — переписан на embedded-postgres фикстуру по образцу costs-service.test.ts - pix-11638-build-regression.test.ts: заменена runtime-проверка require.resolve("@types/node") (ошибочна для types-only пакета) на прямую проверку compilerOptions.types в packages/shared/tsconfig.json - approvals-lite.test.ts: isAuthenticated возвращал строку вместо boolean из-за короткого замыкания && — обёрнуто в Boolean()