Корпоративные пользователи ROX.ONE нуждаются в ответах: кто что делал, когда, с каким результатом. Сейчас логи разбросаны по консоли без структуры — сложно отладить проблему и невозможно провести compliance-аудит. Этот эпик строит append-only audit log и полноценный observability stack.
Audit harness — это не просто логирование. Каждая значимая операция (auth, scope-change, tool-call, config-mutation, credential-access) эмитирует структурированное событие с UUID v7, timestamp UTC, actor ID, operation type и SHA-256 payload-хешем. Хранилище append-only: физический DELETE запрещён на уровне TypeScript-типов, попытка обойти это вызывает ошибку компиляции. Structured logger на базе pino заменяет все console.log в production-коде с автоматическим PII-маскированием email, телефонов и токенов. Метрики (P50/P95 latency по типам операций, error rate, token usage по сессиям и пользователям) доступны через встроенный dashboard в Settings → Admin. Probes-система позволяет добавлять custom-проверки — например, «alert если tool-call занял более 5 секунд» — без изменения audit core.
**Ключевые истории:**
- Audit event schema (UUID v7, UTC, actor, op-type, payload-hash) + append-only storage
- Structured logger pino с PII-маскированием (email, phone, token regex patterns)
- Metrics collector: P50/P95 latency, error rate, token usage per user/session
- Observability dashboard в Settings → Admin с temporal drill-down
- Audit probes framework с custom alert conditions
**Источники вдохновения:**
- [OneUptime/oneuptime](https://github.com/OneUptime/oneuptime) — open-source observability с incident management
- [databendlabs/databend](https://github.com/databendlabs/databend) — аналитическая БД с audit log архитектурой
- [exelban/stats](https://github.com/exelban/stats) — системный мониторинг macOS с лаконичным metrics UI
**Ожидаемая ценность:** Команды безопасности получают полную трассировку действий для compliance-аудита; операционные команды видят деградацию производительности раньше, чем об этом сообщат пользователи.