Всё, что умеет qnop.
Полный справочник — что издание Community даёт уже сегодня и то немногое, что решено, но ещё в пути.
Точность ревью
-
Аннотации с точностью до строк и областей
Отмечайте точные строки и области отрисованного PDF — а не стикеры на уровне страницы.
-
Ветки на Markdown с реакциями
У каждой аннотации своё обсуждение на Markdown, с реакциями.
-
Многослойная привязка
Для каждой аннотации хранятся цитата, позиция и вёрстка, чтобы она продолжала указывать на то, что имелось в виду.
-
Повторная привязка между версиями
Новые версии документа заново прикрепляют существующие аннотации нечётким сопоставлением, а не оставляют их без привязки.
-
Диф между версиями
Режим сравнения точно показывает, что изменилось между двумя версиями.
-
Явные решения
Принятие или отклонение фиксируется на самой аннотации — а не выводится из молчания.
-
Затвор завершения
Ревью можно завершить только при нуле открытых аннотаций. Ничто не выпадает из списка.
Документы и версии
-
Ревью PDF
Загрузите PDF и проверяйте его в браузере через каноничный конвейер приёма и отрисовки.
-
DOCX и Markdown В планах
Решено, на том же конвейере приёма — пока не доступно.
-
Неизменяемая история версий
Изменения содержимого создают новые версии; старые никогда не переписываются и остаются полностью читаемыми.
-
Надёжная фоновая обработка
Извлечение и повторная привязка выполняются как устойчивые задания поверх PostgreSQL — сбой никогда не теряет работу.
-
Документы в объектном хранилище
Бинарные файлы живут в любом S3-совместимом хранилище и никогда — в базе данных.
Люди и команды
-
Команды и роли
Глобальные роли администратора, участника и аудитора плюс лиды команд.
-
Анонимизированные ревью
При необходимости ревью может идти с анонимизированными рецензентами.
-
Уведомления и панель
События ревью доходят до тех, кого касаются; панель показывает, что открыто и где.
-
Ревью как спорт
Серии, достижения, карточки игроков и командные уровни делают темп ревью видимым.
Доверие и эксплуатация
-
Полный журнал аудита
Каждое значимое действие записывается и доступно выделенной роли аудитора.
-
Корпоративный вход
Единый вход OIDC или локальные учётные записи с подтверждением по почте; JWT-сессии с ротацией refresh-токенов и ограничением частоты запросов.
-
Никаких небезопасных значений по умолчанию
Сервер отказывается стартовать, пока обязательный секрет отсутствует или остаётся заглушкой.
-
Администрирование на лету
Брендинг арендатора, SMTP и почтовые шаблоны настраиваются в админке, а не на этапе сборки.
-
Простая топология
Один контейнер с API и веб-интерфейсом, PostgreSQL и любое S3-совместимое объектное хранилище.
Платформа и расширяемость
-
Версионированный REST API
Контракт OpenAPI-first под /api/v1 с явной политикой устаревания.
-
Опубликованный контракт плагинов
Артефакт qnop-spi определяет точки расширения — сегодня это хранилище и извлечение документов.
-
Открытый исходный код
AGPL-3.0, открытая разработка на GitHub.