Перейти к основному содержимому

Рабочий процесс и потоки

Статус: принято 4 августа 2026 года.

Контекст

GigaLoom уже хранит проекты, сессии, запуски, результаты, подтверждения и сведения о процессах. Пользователю нужен единый рабочий экран, на котором эти данные складываются в понятную последовательность. Кроме того, иногда нужно прочитать другой поток или отправить в него сообщение. Для этого не следует создавать ещё одно хранилище переписки или отдельную сеть взаимодействующих агентов.

Решение

Единый рабочий процесс

Основная последовательность в интерфейсе выглядит так:

Проект → поток → запуск → результат → действие.

Экран Work собирает данные из существующих подсистем. Его основное действие — отправить подготовленный пользователем результат в выбранный поток. До отправки экран показывает проект и поток, выбранного агента, состояние маршрута и модели, рабочий каталог, действующие инструкции, режим полномочий и причины блокировки. После запуска пользователь видит последовательность событий и итог операции.

Источники данных при этом не меняются: проекты, сессии, запуски, результаты, действия, подтверждения, маршруты и процессы по-прежнему хранятся в своих подсистемах. Экран Work только объединяет их представления.

Контракты Thread Relay

Обмен между потоками называется Thread Relay и использует четыре версионируемые схемы:

  • ThreadLocatorV1 однозначно указывает поток. Схема содержит тип источника (gigaloom, codex или acp), адаптер, проект, идентификатор потока, область доступа, редакцию возможностей и, при необходимости, ссылки на рабочий каталог и провайдера.
  • ThreadReadProjectionV1 возвращает ограниченный набор видимых сообщений, заголовок, состояние, время, сведения об активном ходе, маршруте и модели, связи с другими сущностями, курсор, список исключённых и неподдерживаемых данных, а также правила редактирования.
  • ThreadMessageEnvelopeV1 описывает отправку сообщения. В нём фиксируются исходный и целевой потоки, проект и пользователь, роль user, режим user_authored или agent_proposed_user_approved, ссылки на сообщение и вложения, намерение, ожидаемые редакции целевого потока и хода, ключ идемпотентности, срок действия и глубина пересылки.
  • ThreadDeliveryReceiptV1 фиксирует результат доставки: адреса потоков, действие, состояние, время, ссылки, редакцию возможностей, контрольную сумму содержимого и короткую причину ошибки, отмены или истечения срока.

Текст сообщения хранится в исходной подсистеме. В квитанцию доставки попадает только его контрольная сумма.

Поддерживаемые источники и полномочия

Для сессий GigaLoom используется существующее хранилище. Интеграция с Codex доступна только через явно поддерживаемый метод и версию app-server. Интеграция ACP включается, если сервер объявил необходимую возможность работы с сессиями. Непрозрачный нативный терминал не предоставляет доступ к своей истории. Ввод в терминал, уже запущенный GigaLoom, проходит через обычную проверку полномочий.

Агенту доступны только операции thread.list, thread.read, thread.send и thread.status. Thread Relay не даёт доступа к настройкам, секретам, установке и публикации пакетов, восстановлению, полной истории, системным сообщениям, скрытым рассуждениям и внутреннему состоянию провайдера.

Ограничения безопасности

  • Каждый запрос привязан к пользователю и проекту. Доступ между проектами по умолчанию запрещён.
  • Для доставки обязательны срок действия и ключ идемпотентности.
  • Глубина пересылки не превышает 1. Для одного исходного запуска или потока одновременно допускается не более четырёх дочерних доставок.
  • Перед изменением целевого потока проверяется его редакция. Для вмешательства в активный ход также требуется точный идентификатор этого хода.
  • Доставить можно только сообщение с ролью user. Текст, предложенный агентом, отправляется после явного подтверждения пользователя.
  • Чтение и курсоры ограничены по объёму. Вложения передаются как ссылки, а не копируются в квитанции.
  • Ошибка доставки не меняет историю целевого потока.
  • Циклическая пересылка, копирование всей переписки, перенос скрытого состояния и неявное чтение памяти запрещены.
  • Неизвестная или устаревшая редакция возможностей блокирует операцию до повторной проверки. Автоматический выбор другого адаптера не выполняется.

Миграция и откат

Новые схемы дополняют существующие хранилища и не переносят сессии между ними. Адаптер включается только для явно подтверждённой редакции возможностей. При откате новые доставки блокируются, а уже созданные квитанции и исходное состояние сохраняются. Домашние каталоги сторонних CLI не читаются и не изменяются.

Последствия

Пользователь получает единый рабочий экран и контролируемую передачу сообщений между поддерживаемыми потоками. При этом GigaLoom не дублирует историю сессий и не расширяет полномочия агента.