# 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.