Модель исполнения#

Режимы исполнения#

  • embedded (по умолчанию): core выполняется в одном процессе с клиентским приложением для минимальной задержки.
  • service: core выполняется как локальный отдельный процесс и доступен клиентам через локальный IPC-канал.
  • remote: клиент подключается к удаленному backend core по защищенному сетевому каналу.

Общие правила#

  • одна и та же доменная логика core;
  • обязательная аутентификация;
  • одна активная сессия привязана к одному аккаунту;
  • операции в контексте библиотеки работают только с одной активной базой;
  • клиент обращается к core-контракту, а не к файлу БД напрямую.

Жизненный цикл сессии#

  • init: первичная инициализация локального vault и создание первой базы;
  • unlock: аутентификация пользователя и открытие рабочей сессии;
  • active: выполнение команд в контексте активной сессии (library-scoped или account-scoped);
  • switch-library: явная смена активной базы внутри сессии;
  • auto-lock: автоматическая блокировка по таймауту неактивности;
  • manual lock/logout: ручная блокировка или завершение сессии.

Модель синхронизации (верхний уровень)#

  • локальная база является источником пользовательской работы по умолчанию;
  • синхронизация выполняется асинхронно и не блокирует пользовательские операции;
  • синхронизация поддерживает как данные уровня библиотеки, так и данные уровня аккаунта;
  • при оффлайне core продолжает работать, синхронизация откладывается;
  • конфликты разрешаются детерминированной политикой (уточняется отдельным разделом);
  • передача данных для sync выполняется только по защищенному каналу.