Задания, отчёты и патчи, лежавшие в C:\Users\Ochenstarik\projects и в домашней папке, перенесены в agents/. Разложено по агентам там, где имя файла позволяло определить автора; остальное — в _salvage-2026-08-18/ и разбирается вручную. Патчи в notes/salvage-2026-08-18/ — незакоммиченная работа из брошенных рабочих копий: она существовала только на диске. Тяжёлое (релизные архивы, инсталляторы, наборы данных) в репозиторий не попало: оно лежит рядом, в Agent_projects/_archive и Agent_projects/_data. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.9 KiB
Правила работы: прочитай C:\Users\Ochenstarik\kagent-tasks\hermes-work-protocol.md.
Ветка: wt/kagent-090-green-trunk, PR #3. Файлы: services/control-plane/package.json,
services/control-plane/tsconfig.json, services/control-plane/src/auth.test.ts,
новый services/control-plane/tsconfig.build.json.
Факт
PR #3 не смержен, main стоит на 3db581d, сборка ветки красная:
https://github.com/ochenstarik-ui/kagent/actions/runs/31101831510
Jobs rust и python зелёные. Job node падает на шаге pnpm build с пятью ошибками
TS2352 в services/control-plane/src/auth.test.ts — небезопасные приведения типов:
src/auth.test.ts(30,46): Conversion of type '{ status: ... }' to type 'FastifyReply<...>'
may be a mistake because neither type sufficiently overlaps with the other.
src/auth.test.ts(31,13): Conversion of type 'undefined' to type '{ code: number; }' ...
Строки 30, 31, 37, 38, 72.
Почему это не поймали раньше
В services/control-plane/package.json нет скрипта typecheck. Корневой
pnpm typecheck выполняет pnpm -r --if-present typecheck и молча пропускает пакет.
В отчёте предыдущего исполнителя это прямо видно: «Scope: 3 of 4 workspace projects» —
пропущен ровно тот пакет, который правили.
Ошибки вскрылись только на pnpm build, потому что build: "tsc" компилирует и тестовые
файлы: в tsconfig.json нет исключения.
Что сделать
-
Добавить в
services/control-plane/package.jsonскрипт"typecheck": "tsc --noEmit". Это закрывает дыру, из-за которой пакет выпадал из проверки. -
Создать
services/control-plane/tsconfig.build.json, наследующийtsconfig.jsonи исключающий**/*.test.ts; изменитьbuildнаtsc -p tsconfig.build.json. Тесты продолжают проверяться типами черезtypecheck, но не попадают вdist. -
Переписать
auth.test.tsбез приведений черезas:- заглушка ответа должна записывать статус и тело, а проверка — читать записанное, а не
приводить возвращаемое значение middleware к
{ code: number }; - для аргументов middleware использовать минимальные типизированные заглушки, а не
as Parameters<typeof authMiddleware>[N].
Смысл проверок не менять: без заголовка 401, чужая схема 401, валидный токен прикрепляет принципала.
- заглушка ответа должна записывать статус и тело, а проверка — читать записанное, а не
приводить возвращаемое значение middleware к
Критерий приёмки
pnpm --filter @kagent/control-plane typecheck
pnpm --filter @kagent/control-plane test
pnpm typecheck
pnpm test
pnpm build
Все пять проходят, вывод приложить к отчёту. Проверить, что pnpm typecheck теперь
захватывает четыре пакета из четырёх, а не три.
После пуша дождаться прогона CI на PR #3 и приложить ссылку на зелёный прогон. Отчёт со словами «должно пройти» не принимается: сборка проверяется прогоном, а не рассуждением.
Границы
Ничего, кроме перечисленных четырёх файлов. Замену HTTP-клиента в gateway, зависимости и что-либо ещё в этой карточке не трогать.