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

Термины и возможности продукта

Статус: принято 23 июля 2026 года.

Контекст

Workbench сейчас показывает устаревшие термины режимов и транспорта: plan, read, edit, headless, native_structured, native_terminal, one_shot и stream. Они смешивают намерение оператора, полномочия, транспорт провайдера и представление, из-за чего интерфейс может подразумевать неподдерживаемые сочетания.

Решение

Версия схемы 1 разделяет шесть словарей:

  • TaskIntent: ask, review или change;
  • AuthorityLevel: read_only или workspace_write;
  • TransportCapability: structured_session, terminal_session, one_shot или streaming_events;
  • ToolCapability: чтение/запись файлов, процесс, сеть, GitHub, браузер, MCP или дочерний агент;
  • TitleProvenance: untitled, legacy, fallback, provider_native или manual;
  • IntegrationLifecycle: definition_only, enabled, disabled, uninstalled или definition_deleted.

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

Допуск возвращает ровно одно состояние: available, degraded или blocked, а также стабильные поля why, recovery и ограниченную диагностику. Отсутствующее или неизвестное подтверждение блокируется. Понижение допустимо только когда оно явно показано и сохраняет запрошенную границу полномочий.

Python-источник значений, manifest и правил допуска — gigaloom.product_capabilities. UI и документация должны строиться из его версионированного manifest, а не дублировать утверждения провайдеров.

Окно совместимости

Поля машинного API и CLI остаются читаемыми во время поэтапной миграции inventory и admission:

Старое поле/значениеНовое соответствиеПравило
mode=planask + read_onlyВременный alias; смысл планирования остаётся видимым.
mode=readreview + read_onlyВременный alias.
mode=editchange + workspace_writeВременный alias.
execution_transport=native_structuredstructured_sessionДопуск всё ещё требует подтверждений провайдера.
execution_transport=native_terminalterminal_sessionТолько машинный override.
execution_transport=one_shotone_shotМашинный override совместимости.
invocation_mode=headlessнет соответствияНе подтверждает транспорт; его нельзя угадывать.
stream=truestreaming_eventsЗапрос совместимости, не обычный переключатель UI.
stream=falseнет возможностиТолько отказ ради совместимости.

Неизвестное значение приводит к отказу до выполнения. Alias можно удалить только после миграции отслеживаемых callers, сохранённого состояния, API fixtures, документации CLI и поддерживаемых клиентов; требуется как минимум одно опубликованное окно совместимости и явное уведомление об удалении. plan и read остаются различимыми, пока их callers и артефакты не докажут, что объединение безопасно. Текущие workflow receipts уже доказывают различие: plan сохраняет артефакт планирования, а readreview_findings. При этом оба значения проецируют read_only: смысл артефакта не расширяет полномочия.

Каждый поддерживаемый машинный alias теперь возвращает compatibility receipt схемы v1 с намерением, полномочиями, характеристикой артефактов/router/state, предупреждением и условием удаления. Неизвестные сохранённые значения, включая прежнее значение Settings act, безопасно преобразуются в ask + read_only с предупреждением legacy_mode_unmapped_read_only и никогда молча не получают workspace-write. Самая ранняя версия удаления — 1.0.0; дополнительно требуется одно опубликованное окно схемы v1 и отсутствие отслеживаемых callers или сохранённого состояния. Источник истины — Python manifest и receipt, а машинный контракт закреплён golden fixtures request/receipt.

Последствия

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