osFoundry / Platform
Hot replay и история
Каждый канал хранит последние N дней событий. Сбрасывайте курсор, проигрывайте с любого seq id.
Что это
Hot replay и история — это журнал событий каждого канала в osFoundry. Каждый канал, то есть потоки, стоящие за вашими чатами, агентами и инструментами, удерживает события за последние N дней, и каждое событие несёт монотонный идентификатор последовательности (seq id). Потребители читают вперёд, отслеживая курсор, который указывает на последний обработанный ими seq id. Поскольку недавнее окно держится «горячим», не нужно относиться к каналу как к потоку по принципу «отправил и забыл»: история на месте, её можно прочитать снова.
Основная операция проста. Верните курсор к любому seq id и переиграйте с этой точки. Агент, упавший посреди прогона, новый потребитель, только что подключившийся к каналу, или инструмент, обработавший события неверно, — все они могут перечитать ровно ту же последовательность, вместо того чтобы потерять пробел или гадать, что произошло. Поскольку osFoundry — это настольное рабочее пространство с собственным ключом (BYOK), эта история живёт вместе с вашим рабочим пространством, а не на серверах поставщика: окно событий работает по принципу local-first, поэтому переигрывание старых событий не означает отправку ваших данных обратно третьей стороне. Вы сбрасываете курсор, переигрываете, и потребитель видит те же упорядоченные события, которые увидел бы в реальном времени.
Почему это важно: агентные и многоканальные рабочие процессы обладают состоянием, а это состояние надёжно ровно настолько, насколько вы способны его восстановить. Удерживаемое и адресуемое по seq id окно превращает вопрос «что этот канал на самом деле видел?» из догадки в детерминированное перечитывание. Оно делает отладку воспроизводимой (переиграйте точную последовательность, вызвавшую баг), делает восстановление дешёвым (возобновляйте с последнего исправного курсора, а не с нуля) и делает безопасным подключение нового потребителя (дозаполнение с выбранного seq id). Окно по замыслу ограничено последними N днями, так что история остаётся полезной и актуальной, не разрастаясь без предела.
Ключевые возможности
- Каждый канал удерживает события за последние N дней, и каждое помечено монотонным идентификатором последовательности (seq id)
- Сбросьте курсор потребителя на любой seq id и переиграйте точную упорядоченную последовательность событий с этой точки
- Восстанавливайте упавших агентов или прерванные прогоны, возобновляя с последнего обработанного курсора, а не начиная заново
- Воспроизводите баги детерминированно, переигрывая точную последовательность событий, которая их вызвала, или дозаполняйте только что добавленного потребителя с выбранного seq id
- Ограниченное, local-first хранение держит недавнюю историю «горячей» на вашем устройстве без безграничного роста и обращений к поставщику
Сценарии использования
- Разработчик агентов: агент падает посреди прогона, поэтому вы отматываете его курсор к последнему зафиксированному seq id и переигрываете канал, чтобы продолжить ровно с того места, где он остановился
- Отладчик рабочих процессов: нижестоящий инструмент выдал неверный результат, поэтому вы переигрываете тот же диапазон событий, чтобы воспроизвести его и детерминированно подтвердить исправление
- Разработчик интеграций: вы добавляете нового потребителя в загруженный канал и дозаполняете его с выбранного seq id, чтобы он догнал последние N дней перед выходом в работу
Часто задаваемые вопросы
На какую глубину можно переиграть события в канале?
Каждый канал держит скользящее окно событий за последние N дней. Всё в пределах этого окна адресуется по идентификатору последовательности и может быть переиграно; события старше окна хранения со временем выбывают, поэтому hot replay рассчитан на недавнюю историю и восстановление, а не на постоянное архивирование.
Что на самом деле делает сброс курсора?
Курсор отмечает последний seq id, обработанный потребителем. Сброс его на более ранний seq id говорит этому потребителю перечитать канал с этой точки вперёд, снова получив те же упорядоченные события. Это не удаляет и не переписывает события — меняется лишь место, с которого возобновляется чтение.
Отправляет ли переигрывание истории канала данные на серверы osFoundry?
Нет. osFoundry — это настольное рабочее пространство с собственным ключом (BYOK) и принципом local-first, а окно событий удерживается вместе с вашим рабочим пространством. Переигрывание перечитывает события, уже хранящиеся локально, поэтому восстановление или повторная обработка истории не требует отправки данных вашего канала в стороннюю службу.