Модель исполнения#
Режимы исполнения#
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 выполняется только по защищенному каналу.