Files
portal/docs/backend/nightowl-spike.md
T
Дмитрий 1a02b4b5f2 docs(adr): ADR-013 backend-tooling boundaries (BT1-BT9) + NightOwl deferred spike
ADR-013: 4 узла A1 (#64-67) + границы BT1-BT9 + постуры. NightOwl DEFERRED
(native-Windows нет pcntl/posix + OSS без MCP + hosted 152-ФЗ) -> Linux/Б-1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 04:21:26 +03:00

3.2 KiB

NightOwl (#67) — feasibility spike + decision

Дата: 2026-05-20 Узел: #67 NightOwl (раздел A1, backend-tooling) — self-hosted runtime-телеметрия. Вывод: DEFERRED (pending-слот, активация на Linux/боевом сервере при Б-1). Решение заказчика 20.05.2026.

Что выяснил spike

Источник: github.com/lemed99/nightowl-agent (MIT) + laravel/nightwatch (сбор телеметрии).

Вопрос Ответ
Self-hosted ingest в свой PostgreSQL без managed-аккаунта? Да — open-source агент пишет телеметрию напрямую в PG (≈13 400 payloads/s).
MCP-сервер для AI (Claude Code) в open-source? Нет. MCP — только в managed-сервисе usenightowl.com (платный). OSS-агент даёт сырые таблицы телеметрии, но не MCP.
Запускается на native-Windows? Нет. Требует PHP-расширения pcntl + posix (UNIX-only, на native-Windows отсутствуют). Windows-поддержка в доках не упомянута.

Блокер

Та же причина, что блокировала Docker / pg_partman / Jupyter MCP на этой машине — native-Windows стек без UNIX-окружения. Агент NightOwl не запустится локально (pcntl/posix), а готовый MCP-доступ есть только в облачном платном тире.

Облачная альтернатива (hosted Nightwatch free-tier + официальный Nightwatch MCP) технически работает на Windows, но отправляет телеметрию портала во внешнее облако — риск по 152-ФЗ (персональные данные). Отклонено заказчиком (как и hosted Sentry в своё время).

Решение (заказчик, 20.05.2026)

Отложить до боевого сервера. Узел #67 регистрируется в реестре как DEFERRED / pending-слот (прецеденты: Sentry MCP #34 pending Б-1, Figma MCP #44, Jupyter MCP #50). Ничего не устанавливаем, .mcp.json не трогаем, данные никуда не уходят.

Условия активации (когда снимать DEFERRED)

  1. Появился Linux/боевой сервер (Б-1) с PHP pcntl/posix.
  2. Развёрнут open-source nightowl-agent, телеметрия пишется в PostgreSQL Лидерры.
  3. Доступ Claude к телеметрии: либо managed MCP (если приемлемо по 152-ФЗ — телеметрия без ПДн), либо чтение таблиц телеметрии через Boost database-query (READ-ONLY) — fallback без облака.

Граница с соседями (ADR-013): Sentry #34 = ошибки/трейсбэки; Pail = tail логов; Boost = снапшот логов/запросов; NightOwl = коррелированный сквозной трейс request↔job↔query↔cache.