К содержимому
Tickwise

Changelog

Что нового в Tickwise

История изменений агента, облака, базы сигнатур и сайта Tickwise.

На странице

Формат: Keep a Changelog.

0.1.0 — unreleased

Первый код MVP (Beta-0, закрытая beta). Публичного релиза нет.

Added

  • Документация. Исследовательская и проектная документация docs/ (продукт, рынок, архитектура, безопасность, правила диагностики, операции, юридический обзор, фазовые планы), ADR-001…019, в том числе решения Beta-0 по web и схеме данных (ADR-016…018). Руководства docs/guides/ и docs/operations/signature-authoring.md.
  • Сборка. Gradle-монорепо: agent-core, agent-paper, agent-velocity, kb-tools, cloud. Java 21 (--release 21), Spotless, воспроизводимые архивы, зафиксированные версии зависимостей.
  • agent-core.
    • Парсер логов, сборка stack trace, локальный санитайзер (ники, IP, секреты, пути; fuzz-тесты).
    • Детерминированный fingerprint, дедупликация, rate limiting, защита от лог-штормов.
    • Протокол v1, дисковый outbox с приоритетами и at-least-once доставкой, HTTPS-клиент, привязка по device code, runtime агента.
  • Signature Pack. Формат pack, движок сигнатур (RE2/J + декларативные предикаты), Ed25519-подпись с доменным префиксом, хранилище с откатом current → previous → встроенный.
  • kb-tools. Валидация сигнатур, прогон фикстур с проверкой precision, детерминированная сборка pack, офлайн-подпись, проверка kb/dist, санитизация фикстур, отчёт по корпусу логов.
  • Сигнатуры. 42 сигнатуры с позитивными и негативными фикстурами, подписанный pack 2026.09.24-1.
  • agent-paper. Плагин Paper/Purpur: захват лога, сэмплер TPS/MSPT, инвентарь плагинов и конфигов, команды /tickwise.
  • agent-velocity. Плагин Velocity: события подключения к backend и киков, пинг backend'ов, «нет доступных серверов».
  • cloud.
    • Схема PostgreSQL (Flyway), платформенный слой (очередь задач, rate limits, идентификаторы, hashing), привязка агентов по device code, приём батчей с идемпотентностью.
    • Инциденты, сетевая корреляция proxy ↔ backend, «что изменилось», Telegram-бот (привязка, карточки, 👍/👎).
    • Read-only внутренний API страницы инцидента для web.
  • web. Next.js-сайт (лендинг, privacy, consent) и read-only страница инцидента /i/{token} с CSP на nonce.
    • База ошибок /errors: страница на каждую сигнатуру (строки лога, причина, шаги), поиск, русский и английский.
    • Документация: установка агента, Telegram-бот, безопасность, история изменений (MDX).
    • SEO: canonical и hreflang на каждой странице, sitemap.xml, JSON-LD, картинки превью для каждой страницы, индексация переключается TICKWISE_INDEXING.
  • Безопасность. Тест, который валит сборку при использовании запуска процессов, динамического кода или Java-десериализации в любом модуле.
  • Деплой. Сервис backup в compose (ежедневный pg_dump, 30 дневных + 12 месячных копий), выгрузка копий в object storage через restic (deploy/backup/offsite.sh + systemd-таймер), восстановление (deploy/backup/restore.sh) и проверка бэкапа на чистой базе (deploy/backup/restore-test.sh, D8). Лимиты памяти и настройки PostgreSQL под VDS 6 vCPU / 12 ГБ. Шаблон nginx для VDS, где 80/443 уже заняты. Релизный workflow (образы в GHCR по тегу v*, черновик релиза с jar агентов) и deploy/deploy.sh с откатом на предыдущие образы.
  • Стенды. Локальный стенд совместимости и MSPT на настоящих Paper/Purpur/Velocity (deploy/local/run-server.sh, разбор JFR), сквозной стенд сети с настоящими агентами и замером времени до карточки в Telegram (deploy/local/e2e-network.py, D5/D6).

Changed

  • Продукт переименован из BlockOps в Tickwise (ADR-019): пакеты, команды, права, jar, заголовки протокола, переменные окружения, pack переподписан.
  • Страница инцидента перенесена из облака в web: облако отдаёт только данные (ADR-018 заменяет ADR-016).

Fixed

  • Ложные срабатывания санитайзера, найденные при работе над сигнатурами.
  • Страница инцидента не падает на некорректной ссылке на фрагмент лога.
  • Анимации появления на сайте не зависят от JavaScript.
  • Превью ссылок на сайт указывали на localhost: web получает TICKWISE_SITE_URL из deploy/.env.
  • Предзагрузка страниц сайта на русском возвращала 404.
  • Задания очереди планируются по часам базы: при часах приложения впереди часов PostgreSQL (VM Docker Desktop после сна) свежие задания «зависали в будущем», и инциденты/уведомления не создавались.
  • Jackson 3.1.7 поверх BOM Spring Boot 4.1.1 (GHSA-7hhh-6rmp-j9qf, GHSA-cxp5-3px4-pw24 и др.).
  • Ссылка на документацию в конфигах агента вела на несуществующий файл.