Repository navigation
0.12.4 (2026-10-28)
Новые возможности
- feat(attachments): видео нативно, аудио-в-видео и выбор сообщения
- feat(mcp): вложения MCP-результата (image/audio/resource)
- feat(tools): медиа из инструментов — ToolResult.attachments + web_fetch
- feat(attachments): outbound — send_attachment, stream.done.attachments, раздача по sha
- feat(pipelines): вложения в прогоне (attachments[])
- feat(events): вложения внешнего события (attachments[])
- feat(attachments): тул save_attachment + fs.changed
- feat(attachments): оригиналы в blob + staging-загрузка без сессии
- feat(attachments): native → aux-текст → отброс + стоп после role-отказа
- feat(ui): модели по модальностям в «Мультимодальном вводе»
- feat(attachments): derive — обработка медиа вспомогательной моделью
- feat(models): тул list_models — каталог с модальностями для агента
- feat(attachments): модели обработки по модальностям — конфиг и API
- feat(processes): detach идущего execute_shell без перезапуска
- feat(ui): кнопка «В фон» и ctrl+b для идущего прогона
- feat(background): detach идущего саб-агента в фон (ядро)
- feat(attachments): тул attach_workspace_file — файл из workspace как вложение
- feat(ui): админ-раздел «Мультимодальный ввод»
- feat(attachments): отброшенное вложение не теряется + runtime-API настроек
- feat(settings): runtime-настройки мультимодального ввода в слое конфигурации
- feat(ui): «Вмешаться» — иконочный тумблер вместо трёх режимов отправки
- feat(attachments): метрики и перенос вложений в экспорте проекта
- feat(driver,chart): импорт core сужен до FileBlobStore, опция отдельного блоб-тома
- feat(storage): contextFiles в SQL, порт skills подключён к домену
- feat(pipelines): артефакты прогонов в blob-порте
- feat(ui): вложения в отправленном сообщении
- feat(llm): вложения доходят до провайдеров, gateway не логирует base64
- feat(storage): skills — метаданные в SQL, содержимое в blobs, порт без путей
- feat(attachments): сервис, HTTP-контур, blob-root, GC и ссылки
- feat(storage): packs и legacy pipelines в PostgreSQL
- feat(storage): blob-подложка stat/readStream, учёт ссылок blobRefs, медиа-части, модальности
- feat(ui): вложения в композере и отправке
- feat(ui): store и компоненты вложений композера
- feat(ui): подготовка вложений — HEIC→JPEG, office→текст+картинки, группы
- feat(ui): утилиты подготовки вложений (accept/mime, извлечение office, large-text-paste)
- feat(worktree): sweep осиротевших записей при старте
- feat(ui): worktrees — инвентарь, привязка, индикатор, скрытие в дереве
- feat(worktree): тулы git_worktree_*, HTTP-контур и событие (этап 1.4)
- feat(worktree): per-session cwd — привязка, резолв, containment (этап 1.4)
- feat(worktree): WorktreeService — git-операции, lifecycle, детект secondary
- feat(storage): порт WorktreeRepository и три backend'а (этап 1.4)
- feat: метрики synth_executor_* (ADR-094) на обеих сторонах
- feat: SSH-ключи доставляются исполнителю на время вызова (протокол 4), CA — конфигурация
- feat(question): таймер обратного отсчёта в доке
- feat(question): таймаут-опция, уведомление и сворачиваемый док с подтверждением
- feat(ui): карточка фона в системном блоке, уведомления, компактные кнопки
- feat(tools,background): реестр для агента, модель саб-агента, стартовые события
- feat(execution): фоновые процессы в remote и устойчивый контракт
- feat(steering): инъекции в дочернюю сессию саб-агента (ADR-104)
- feat(executor): фоновые процессы и протокол v3 (ADR-077 шаг 7c)
- feat(ui): вкладка «Процессы» в правой панели
- feat(ui): док вопроса агента над композером
- feat(api): HTTP-контур реестра фоновых прогонов
- feat(processes): фоновые процессы и execute_shell background
- feat(execution): фоновый spawn в порту и append в BlobStore
- feat(background): фоновые саб-агенты и отчёт по лимиту шагов
- feat(engine): вопрос пользователю посреди хода (этап 1, блок 3)
- feat(storage): контракты и порты вопросов и реестра фонов
- feat: тулы автоматизации (пайплайны, расписания) и управление памятью проекта
- feat(charts): Grafana-дашборд «Synth — Память»
- feat(ui): вкладка «Память» в правой панели
- feat(plugin-memory): телеметрия recall и memory_search
- feat(memory): GET /sessions/:id/memory для вкладки «Память»
- feat(metrics): память в контексте и recall
- feat(plugin-memory): не индексировать каталоги и файлы секретов
- feat(ui): область индекса в разделе «Память»
- feat(cli): --scope для индексов памяти
- feat(memory): scope индекса в портале
- feat(plugin-memory): общий (инстансный) индекс и слияние recall
- feat(memory): область видимости индекса в слое хранения
- feat(cli): synth memory — клиент портала памяти
- feat(ui): цель pipeline в редакторе расписаний
- feat(memory): проектная авторизация портала памяти
- feat(scheduler): запуск прогона пайплайна по расписанию
- feat(ui): SVG-визуализация графа памяти
- feat(prompt): слой plugin.tools в манифесте промпта
- feat(metrics): synth_memory_index_chunks — объём корпуса по состояниям
- feat(pipelines): встроенный шаблон «Память: консолидация сессии» (М4b)
- feat(ui): раздел «Граф» в админке памяти
- feat(memory): портал — чтение графа памяти
- feat(memory-plugin): граф сущностей без LLM
- feat(ui): консолидация фактов в разделе «Память»
- feat(memory): портал — консолидация фактов
- feat(memory-plugin): консолидация фактов — дедуп по эмбеддингам
- feat(ui): операции с индексами памяти в админ-разделе
- feat(memory): мутации индексов в портале через админ-тул плагина
- feat(memory-plugin): ванильный RAG — чанкер, эмбеддинги, поколения, гибридный поиск
- feat(dev): плагин памяти ставится и активируется в dev автоматически
- feat(memory): плагин памяти, порты хранения, сервисы фасада и портал (М0–М1)
- feat(plugins): чтение журнала действий плагинов — API и раздел в UI (ADR-090)
- feat(ui): раздел «Доступы» — OAuth-коннекторы, маска и переавторизация (ADR-105 Ф4)
- feat(webhooks): ротация signing-секретов в synth secrets rotate
- feat(ui): раздел «Полномочия» — политика Authority read-only (ADR-106 Ф5)
- feat(oauth): ротация мастер-ключа для внешних доступов (ADR-105 Ф4)
- feat(plugins): подтверждение установки привязано к content-hash, срок 24 ч, выдаёт ADMIN (ADR-090)
- feat(storage-postgres): порты Authority-слоя (ADR-106 Ф5)
- feat(oauth): append-only журнал credential-операций (ADR-105 Ф4)
- feat(authority): активация контента provides.authority в политику инстанса (ADR-106 Ф5)
- feat(oauth): HTTP-контур внешних доступов — createOAuthRoutes и монтирование (ADR-105 Ф4)
- feat(authority): одобрение по существу — сводка ролей/действий/целей пакета (ADR-106 Ф5)
- feat(authority): режим сессии как потолок — yolo не снимает ask другого участника (ADR-106 Ф4)
- feat(authority): потолок хода считается один раз и не поднимается другим участником (ADR-106 Ф4)
- feat(authority): участники сессии — аддитивное поле и вывод из проекта (ADR-106 Ф4)
- feat(plugins): Ф7 — UI и документация гибридного режима плагинов (PROP-090)
- feat(authority): принципал хода фиксируется при приёме ввода (ADR-106 Ф4)
- feat(plugins): Ф7 — discovery политики и привязка plugin_id (сервер)
- feat(plugins): Ф7 — серверная политика гибрида и plugin-bound токены (PROP-090)
- feat(mcp): права на привязку внешнего доступа к коннектору (ADR-105 Ф3)
- feat(oauth): каталог OAuth-провайдеров из конфига (ADR-105 Ф3)
- feat(mcp): 400 на plaintext-секрет в API реестра и probe (ADR-105 Ф3)
- feat(steering): единый контракт режима в гибриде — mode доезжает до remote, mode_applied в ack (ADR-104 этап 3)
- feat(mcp): запрет plaintext-секретов в реестре и миграция в доступ (ADR-105 Ф3)
- feat(core): ADR-105 Ф3 — access-токен доступа в MCP-транспорте
- feat(steering): приоритет инъекций — interrupt раньше steer, внутри класса FIFO (ADR-104 этап 3, A)
- feat(authority): подтверждения, привязанные к принципалу и ходу (PROP-108 Ф3)
- feat(ui): режим interrupt и маркер прерванного хода (PROP-098)
- feat(authority): принуждение решений в permission-слое (PROP-108 Ф2)
- feat(steering): режим interrupt в API и очереди (PROP-098 этап 2)
- feat(oauth): клиент PKCE/refresh/revoke через egress (PROP-107 Ф2)
- feat(steering): прерывание генерации без завершения хода (PROP-098 этап 2)
- feat(ui): селектор режима отправки при активном ходе (PROP-098)
- feat(authority): метрики решений Authority-слоя (PROP-108 Ф1)
- feat(storage-postgres): порт внешних доступов (PROP-107 Ф1)
- feat(authority): shadow-интеграция Authority-слоя (PROP-108 Ф1)
- feat(steering): маркер вмешательства в ленте и проброс mode в UI
- feat(authority): резолвер решений (PROP-108 Ф1)
- feat(steering): оркестратор вплетает инъекции на границе шага (persist metadata.steer, событие message.injected)
- feat(steering): режим mode в POST /sessions/:id/prompt — steer в очередь инъекций, interrupt с понятной 400
- feat(authority): контракты Authority-слоя и порт политики (PROP-108 Ф0)
- feat(core): порт внешних доступов подключён к слою хранения (PROP-107 Ф1)
- feat(plugins): Ф6 — UI-раздел «Плагины» в админ-панели (PROP-090)
- feat(plugins): Ф5в — managed deploy-time и неприкосновенность management-плагинов (PROP-090)
- feat(plugins): Ф4б-3 — точка tools по протоколу и suite на удалённой реализации (PROP-090)
- feat(plugins): Ф4б-2 — процесс удалённого плагина, токен-файл, выбор транспорта (PROP-090)
- feat(plugins): Ф4б-1 — wire-протокол и remote-загрузчик (PROP-090)
- feat(plugins): Д2 — update и rollback версий плагина (PROP-090)
- feat(plugins): Д1 — источники установки: локальный .tgz и npm (PROP-090)
- feat(plugins): Ф5б-3 — CLI synth plugin *, byte-copy ассетов, чистка версий
- feat(plugins): Ф5б-2 — HTTP API плагинов и RBAC-матрица (PROP-090)
- feat(plugins): Ф5б-1 — PluginRuntime, старт-активация и общий реестр блоков (PROP-090)
- feat(plugins): Ф5а — сервис установки плагинов (PROP-090)
- feat(plugins): Ф4а — inline-загрузчик кода плагина (PROP-090)
- feat(plugins): Ф3в — точка tools и контрактный suite расширений (PROP-090)
- feat(plugins): Ф3б — точка расширения llmFilters и эмбеддинги через gateway (PROP-090)
- feat(plugins): Ф3а — точка расширения promptBlocks (PROP-090)
- feat(chart): привязка клиента для Service UI (ADR-077)
- feat(plugins): Ф2 — модель доверия плагинов (PROP-090)
- feat(chart): привязка клиента для Service пула исполнителей (ADR-077)
- feat(plugins): Ф1 — PluginHost и журнал аудита плагинов (PROP-090)
- feat(plugins): Ф0 — предпосылки слоя плагинов (PROP-090)
- feat: managed-backend получает MCP-инструменты исполнителя через дескриптор порта (ADR-077)
- feat: control plane берёт MCP-инструменты из пула исполнителей (ADR-077)
- feat: исполнитель хостит MCP-серверы (Playwright проверен в контейнере, ADR-077)
- feat: доступность инструментов определяется составом пула исполнителей (ADR-077)
- feat(chart): sticky-сессии для Service control plane (несколько реплик backend)
- feat(catalog): добавить в контракт индекса metadata.sources и путь вендоренного контента
- feat(catalog): контракт формата индекса каталога расширений (format:1)
- feat: пул исполнителей в Helm-чарте (PROP-077, шаг 7c)
- feat: образы исполнителей и debian-ветка flavor'ов browser/full (PROP-082, шаг 5)
- feat(ui): английские тексты для execution.remote_url_required и execution.remote_unavailable
- feat(ui): атрибуция React Flow скрыта в визуальном редакторе
- feat: подключение удалённого исполнителя в core и backend (PROP-077, шаг 7b)
- feat: пакет @itphx/synth-executor — исполнитель и exec-API (PROP-077, шаг 7a)
- feat: flavor-образы dev и devops с toolchain (PROP-082, шаг 4)
- feat(ui): визуальный редактор пайплайнов на React Flow
- feat: секция execution в конфиге — переключатель топологии исполнения (PROP-077, шаг 3)
- feat(ui): вкладка «Пайплайны», страницы пайплайна и прогона, HITL-действия
- feat: мультистадийный образ all-in-one с flavor core (PROP-082, шаг 2)
- feat(storage-postgres): провенанс установки пайплайна (миграция 005)
- feat(pipelines): HTTP-API пайплайнов, права и проектная привязка
- feat(backend): сборка движка пайплайнов в managed-режиме
- feat(pipelines): события, метрики и выходы пайплайнов
- feat(pipelines): Tool-Use-цикл агентского шага, гейт ask → HITL
- feat(pipelines): каркас агентского шага — промпт, модель, локальная история
- feat(pipelines): permission-обёртка, исполнители tool/script/human, HITL-гейт
- feat(pipelines): контекст шага и сужение контракта Composer
- feat(pipelines): движок пайплайнов — планировщик, условия, журнал
- feat(storage): порты пайплайнов, прогонов и журнала выполнения
- feat(pipelines): контракты движка пайплайнов в shared
- feat(ui): раздел «Аддоны» — пакеты расширений и пайплайны
- feat(pipelines): учёт экземпляров пайплайна в funnel + payload в общем контракте
- feat(packs): API пайплайнов и установка пакета расширения
- feat(scope): automation:install и ссылка на шаг пайплайна в цели маршрута
- feat(storage): порты пайплайнов и реестра установок пакетов
- feat(agents): доставка роли агента извне — rolePrompt в теле и groups
- feat(pack): контракты манифеста synth.pack и пайплайна в shared
- chore: bump version to v0.11.4
- feat(agents): встроенный агент publisher + иконка newspaper и правка ролевого промпта
- feat(ci): событие релиза для synth-media — джоба media-event
Исправления
- fix(executor): не терять хвост журнала при чтении сразу после закрытия процесса
- fix(executor): stop и таймаут гасят группу процессов, а не только оболочку
- fix(attachments): видео-транскрипт через временный файл вместо буфера
- fix(attachments): убрать audio-as-video, транскрипт дорожки видео
- fix(storage-postgres): getAudioAsVideoNote в PG-порте контекста
- fix(video): allowlist video/ и извлечение кадров из MP4
- fix(events): Telegram-сообщение без текста — маркер, не JSON
- fix(multimodal): Ollama images и attach_workspace_file в текущем ходе
- fix(context): отключение user-реплики выключает весь её ход
- fix(multimodal): аудио из Telegram — media-only без JSON, aux-модель и транспортные форматы
- fix(providers): PDF — file-блок у OpenAI-типа и pdf в модальностях Anthropic-типа
- fix(providers): Anthropic читает модальности каталога, провайдеры не фильтруют вложения повторно
- fix(ui,core): стрим и финал считают «Размышления» одинаково
- fix(ui,core): части сообщения в live-событиях — миниатюра вложения без перезагрузки
- fix(llm): модальности модели — из каталога провайдера, а не по грубому префиксу
- fix(attachments): маркер вложения в композере и возврат вложений при повторе
- fix(wiring): артефакты прогонов в managed, blobs в оркестратор через инъекцию
- fix(ui): кнопка вложения идёт через подготовку файлов (HEIC/office)
- fix(worktree): id в ответе тула, action в событии, prune-схема, гонка PATCH
- fix(question): уточнить в схеме, что timeout — параметр верхнего уровня
- fix(background): processId в PostgreSQL и timeoutMs=0 в spawn
- fix(background): одно уведомление и системный блок вместо user-пузыря
- fix(background): гейт background.enabled для shell и событие process.stopped
- fix(question,background): свободный ответ и отказ фона без побочных эффектов
- fix(memory): политика секретов — модуль ядра (дополнение к f869655)
- fix(memory): фингерпринт индекса — фактическая модель эмбеддингов хоста
- fix(memory): политика секретов — в ядре, а не в бандле плагина
- fix(plugins): подтверждение установки учитывается при активации (ADR-090 п. 9)
- fix(security): подавление ложных срабатываний secret-scan на dummy-фикстуры внешних доступов (ADR-105/106)
- fix(security): подавление ложных срабатываний secret-scan на dummy-фикстурах внешних доступов (ADR-105)
- fix(egress): секретные заголовки не уходят на redirect-хост (PROP-107 §7)
- fix(ui): единый контракт onSend для команды и отправки (PROP-098)
- fix(storage-postgres): переименование константы миграции 012 после слияния
- fix(storage): конфликт импортов storage-context после слияния PROP-107/108
- fix(steering): типизация теста HTTP-контура промпта — без lint-предупреждений (PROP-098)
- fix(sdk): форма входа промпта — поле mode необязательное (PROP-098)
- fix(shared): ожидание дефолтов plugins дополнено ключами Ф5в (deployDir/deployTrust/managedReadonly)
- fix(plugins): относительный identifier не делает плагин управляемым (Ф5в)
- fix(plugins): путь deploy-плагинов не должен задаваться ENV в образе (PROP-090, Ф5в)
- fix(plugins): контрактный suite расширений не должен попадать в прод-бандл
- fix(plugins): Д3 — живые бюджеты и неработавший promptBlockMaxChars
- fix(ui): адрес backend'а в образе UI задаётся окружением, по умолчанию — свой релиз (ADR-077)
- fix: сервер исполнителя в состоянии idle активируется, а не считается недоступным (ADR-077)
- fix: discovery MCP и детект зависимостей восстанавливаются после гонки раскатки (ADR-077)
- fix(docker): пакет исполнителя в образе control plane + вложенные dist вне контекста сборки
- fix(docs): убрать дубли идентификаторов после переноса PROP в ADR
- fix: версия пакета @itphx/synth-executor синхронизирована с остальными
- fix(ui): переключение вкладок пайплайнов не показывает stale-состояние
- fix(pipelines): создание пайплайна из UI — 400 «Некорректное тело пайплайна»
- fix(ci): убран дубль ключа if-no-files-found в загрузке offline-образов
- fix(test): устранено зависание afterEach в прокси-тестах
- fix(chart): триггер раскатки по номеру сборки + scope установщику
- fix(agents): реестр не видел runtime-агентов при storage.backend=postgres
- fix(mcp): fail-open в сетевой политике — одиночный IP-правило не срабатывало
- fix(egress): egressFetch терял заголовки ответа — HTTP-MCP не работал ни с одним сервером
Прочее
- docs(security): учесть в записи аудита второе изменение CI (квота артефактов)
- docs(security): запись аудита 0.12.4 — коммит аудита d400779 и прогон 1946544
- chore: bump version to v0.12.4
- docs(security): запись аудита 0.12.4 — коммит аудита dfc5c8c и зелёный прогон 1945567
- chore(tasks): журнал — релиз 0.12.4 (аудит, зелёный CI, запись аудита)
- docs(security): запись внутреннего аудита 0.12.4 вместо 0.13.0
- chore(deps): body-parser 2.4.0 и транзитивные патчи в пределах semver
- docs: согласовать статусы ADR/PROP и горизонт 0.12.4
- docs(api): задокументировать 415 attachments_disabled
- docs(adr-115): видео — только derive кадрами, не нативный путь
- chore(ui): память и мультимодальный ввод — в группу AI
- docs(agents): актуализация инструкций под мультимодальность, detach и MCP
- docs(security): аудит 0.13.0 — мультимодальность целиком
- chore(pipelines): проводка resolveModelModalities/derive в core deps
- docs(adr): контракт перевода идущего прогона в фон (detach)
- docs(security): дополнение записи аудита 0.13.0 — настройки вложений и workspace-fallback
- refactor(attachments): модальности моделей — только из синхронизации каталога
- docs: режим отправки — SteerToggle вместо SendModeSelector (ADR-104, ui/AGENTS)
- docs(security): запись аудита 0.13.0 (approved_with_exceptions)
- chore(deps): patched-версии по аудиту — dompurify, vite, zod 4
- docs: ADR-115/116 — статус реализации и остатки; этап 1.1 отмечен
- docs: вложения сообщений, артефакты прогонов, blob-хранилище и новые порты
- docs: ADR-115/116 — blob-подложка на томе, вложения и состояние инстанса в SQL
- docs(adr): принятые предложения — терминальный статус и отдельная секция
- docs: roadmap — статус этапа 1 на 2026-10-27 и выпуск 0.12.3 на test
- chore: bump version to v0.12.3
- docs: roadmap — пункт 1.5 закрыт, остаток этапа 1 — только 1.1
- docs: журнал задач — этап 1.4 (worktrees, per-session cwd)
- docs: worktrees — API_V2 §5.40, UI в спеке, ADR-114 реализован
- docs: спека worktrees синхронизирована с реализацией (1.4.2d)
- docs: ADR-114 — git worktrees и per-session cwd (принятие PROP-049)
- docs: журнал задач — 5.4; roadmap 1.5 закрыт
- docs: журнал задач — 5.3 (SSH-секреты, протокол 4)
- docs: журнал задач — этап 1 (5.1, 5.2)
- refactor: GitService исполняет git через ExecutionPort, simple-git удалён
- docs: ADR-077 — актуальный протокол 3, B2 реализован, решения по git/SSH/CA
- docs: актуализация вопроса и фоновой работы
- docs(tasks): test 0.12.2-10 — таймер вопроса и схема timeout
- docs(tasks): test 0.12.2-6 — вопрос, таймаут, док и подтверждение
- docs(tasks): test 0.12.2-4, remote-фоны, фиксы по e2e
- docs(tasks): журнал — remote-фоны, steering, ADR-113, 0.12.2
- chore: версия 0.12.2
- docs(adr): ADR-113 фоновые процессы, PROP-097 в ADR, статусы roadmap
- docs(en): переводы вопросов пользователю и фоновых прогонов
- docs(tasks): журнал этапа 1 — фоны и вопрос пользователю
- docs: API фоновых прогонов, конфиг background.*, AGENTS
- docs(adr): ADR-111 фоновые саб-агенты и ADR-112 вопрос пользователю
- docs: приоритеты релиза 0.13.0 — этапы ядра, доведения и UX
- docs(tasks): контекст/recall-метрики, вкладка памяти, дашборд
- docs(tasks): dev-проверка, модели эмбеддингов, политика секретов
- docs(memory): scope, секреты, модели эмбеддингов и CLI
- docs(memory): источники, egress и исключения секретов
- docs(tasks): инстансный индекс памяти
- docs(tasks): журнал — расписание→пайплайн, synth memory, ACL портала
- docs(api): цель pipeline в расписаниях и ACL портала памяти
- docs(tasks): финальный выкат 0.12.1-12 на оба инстанса
- docs(tasks): добит остаток — М4b, plugin.tools, метрики, SVG-граф
- docs(tasks): финальный выкат test 0.12.1-10 (М5)
- docs(memory): М5 — граф сущностей и строка API
- docs(tasks): деплой test 0.12.1-8 и открытая политика caution
- refactor(memory-plugin): свой мини-валидатор вместо zod — бандл scan-safe
- docs(ui): консолидация фактов в разделе «Память»
- docs(memory): М4a — консолидация в портале и UI
- docs(memory): статусы М1–М2, инструкции и журнал
- chore(dev): эмбеддинги памяти — локальная ollama по умолчанию
- docs(memory): решения М2 — источники, чанкер, эмбеддинги, поколения, гибрид
- docs: журнал задач — чтение журнала плагинов (API + UI) и перепубликация страницы портала
- docs: журнал задач — полное закрытие ADR-104/105/106 и сборка 0.12.1-5
- docs: статусы ADR-104/105 — реализовано, ADR-106 — остаток flavor-роли (roadmap и индекс)
- docs(oauth): Ф4 закрыта — роуты, журнал, ротация, бэкап (ADR-105)
- docs(authority): UI «Полномочия» — as-built и ограничения (ADR-106 Ф5)
- docs(authority): Ф5 закрыта — активация контента, trust-floor, PG-порты (ADR-106)
- docs: журнал задач — закрыты guard-тест дефолтов и автогенерация схемы каталога
- docs(plugins): схема записи каталога генерируется автоматически из контракта (ADR-090 п. 9)
- docs: журнал задач — документация плагинов закрыта; дефолт plugins.deployTrust в CONFIGURATION приведён к коду
- docs(en): зеркало руководства автора плагина — правка формулировки в тесте
- docs(en): зеркало руководства автора плагина — правка code span и запись в каталог EN-доков
- docs(en): зеркало руководства автора плагина — часть 5 (§12–§14, «См. также»)
- docs(en): зеркало руководства автора плагина — часть 4 (§9–§11)
- docs(en): зеркало руководства автора плагина — часть 3 (§5–§8)
- docs(en): зеркало руководства автора плагина — часть 2 (§3–§4)
- docs(en): зеркало руководства автора плагина — часть 1 (шапка, оглавление, §1–§2)
- docs(en): зеркала разделов про плагины (API_V2, CONFIGURATION, HYBRID) + указатели в AGENTS.md
- docs(plugins): приведение статуса и окна deprecation в авторской спеке к факту (ADR-090)
- docs(arch): PROP-090 принято как ADR-090 — слой плагинов (Ф0–Ф7)
- docs(oauth): Ф3 закрыта — MCP-биндинг, каталог провайдеров, права (ADR-105)
- docs(steering): синхронный контракт режима в API_V2 (RU/EN) и статус ADR-104 — этап 3 закрыт, остаток PROP-096
- docs: журнал задач — деплой 0.12.1-3 в test
- docs: журнал задач — этап 2/Ф2/Ф3 и перевод PROP в ADR-104/105/106
- docs(releases): вернуть историческое имя PROP-098 в заметках 0.10.1
- docs: ссылки PROP-098/107/108 переведены на ADR-104/105/106, конфиг authority и OAuth-секретов
- docs: PROP-108 переведён в ADR-106, устройство Authority-слоя — docs/AUTHORITY.md
- docs: PROP-107 переведён в ADR-105, устройство внешних доступов — docs/EXTERNAL_ACCESS.md
- docs: steering — детали остаются в ADR-104, отдельный spec не нужен
- docs(authority): Ф2/Ф3 (PROP-108)
- docs: PROP-098 переведён в ADR-104, устройство steering — docs/STEERING.md
- docs(steering): этап 2 (PROP-098)
- docs(oauth): статус Ф2 (PROP-107)
- docs: статусы PROP-098/107/108 — Ф0+Ф1 реализованы
- docs: AGENTS.md — Authority-метрики, порт внешних доступов (PROP-107/108)
- docs: журнал задач — PROP-098/107/108 (Ф0+Ф1) и сборка 0.12.1-2
- docs(authority): PROP-108 — история Ф0/Ф1 и остаток Ф2–Ф5 (PROP-108)
- docs(steering): режимы промпта и ограничения этапа (PROP-098)
- docs: PROP-107 — принятые решения Ф0 и статус этапов (PROP-107 Ф0/Ф1)
- docs: журнал задач — CI-джоба образов падает на сети раннера (не на коде)
- docs: PROP-108 — Authority-слой (полномочия пользователей и агентов как контент)
- docs(plugins): руководство автора плагина + правки по найденным расхождениям
- docs: журнал задач — деплой слоя плагинов в test и три найденных дефекта
- docs: журнал задач — dev-проверка слоя плагинов и подготовка деплоя на test
- chore(security): allowlist secret-scan — тестовые фикстуры токенов и имена env-переменных
- chore: bump version to v0.12.0 (слой плагинов: Ф0–Ф5, Д1–Д3, Ф4)
- docs: измеренные ограничения мультиреплики — auth-сессии в памяти, залипание очереди, лимит ×N (ADR-077, PROP-105)
- docs: журнал — измерения D: cron, привязка, очередь, лимит ×N, auth-сессии в памяти (новый блокер)
- docs: журнал — подтверждение all-in-one (inline shell + браузерные MCP-тулы), правка UI
- docs: обновить ссылки на переименованный шаблон nginx-конфига UI
- docs: журнал — сценарий all-in-one в test, находки по Fleet и жёсткому upstream в UI
- docs: журнал — раскатка фикса окна первого хода, доказательство в кластере, redirect URI Keycloak
- docs: журнал — деплой шагов A+B в test, e2e браузерных тулов, найденные дефекты
- docs: добавлен PROP-107 «OAuth-хранилище и слой доступа к внешним сервисам»
- docs: журнал — шаги A и B (доступность из пула, MCP в исполнителе), PROP-104/105/106, sticky, all-in-one
- docs: журнал задач — восстановлен хронологический порядок и ротация (log.4.md)
- docs: предложения по масштабированию control plane — транспорт событий, координация реплик, файловые порты в SQL
- docs: журнал задач — деплой исполнителя в test (образ full, RWX-том, remote-режим)
- docs(arch): слой плагинов (PROP-090) и приведение каталога ADR/PROP в порядок
- docs: запись в журнал задач о шагах 5–6 и 7c
- docs: новые скрипты образов, compose-профили и политика реестров в AGENTS.md
- docs: запись в журнал задач о шагах 4, 7a и 7b
- docs: восьмой пакет и режим remote в архитектуре и справочниках
- docs(adr): email-шлюз (ADR-087/ADR-103) — решения по каналу почты и статус ядра
- docs: ADR-101 закрыт, AGENTS.md и спека приведены в соответствие
- docs: запись в журнал задач о шагах 1–2 (порт исполнения, flavor core)
- refactor: порт исполнения ExecutionPort (PROP-077, шаг 1)
- docs: журнал задач — портал расширений Synth (витрина, каталог, знак, деплой)
- docs: запись в журнал задач о проработке PROP-077/PROP-082
- docs: проработаны две топологии развёртывания (split-исполнители и all-in-one)
- docs(adr): ADR-103 — ядро шлюзов Synth (@itphx/synth-gateway-core) и контракт канала
- docs(adr): ADR-101 — пайплайн как второй движок рядом с оркестратором
- docs(release): журнал задач — публикация 0.11.3; правка ссылки на offline-документацию
- docs: журнал задач — пакеты расширений и пайплайны, полный цикл на test
- docs(adr): ADR-100 — пакет расширения и пайплайн в ядре
- refactor(agents): встроенный агент publisher убран из ядра — роль приезжает из пакета
- docs: журнал задач — политика MCP (fail-open) и CI для synth-media
- docs: журнал задач — Ingress synth-media (UI для approve)
- docs: журнал задач — выкатка на test и полный цикл публикации
- chore: bump version to v0.11.4
- docs: журнал задач — сквозной цикл AD-089/synth-media на dev
- docs: журнал задач — AD-089/synth-media (исследование, E, A1, A2, CI, C2)
- docs: статус ADR-089 — ядро реализовано; PROP-090 отложен (icebox)
Installation
CLI (npm — from npmjs.org or the GitVerse Package Registry):
npm install -g @itphx/synth@0.12.4Base Docker image from the GitHub Container Registry:
docker pull ghcr.io/itphx/synth:0.12.4
docker run -p 4300:4300 ghcr.io/itphx/synth:0.12.4The primary image registry is gitverse.ru/itphx/synth:0.12.4;
all three base images (synth, synth-backend, synth-ui) are published to
both gitverse.ru and ghcr.io (version tag only).
Offline / air-gapped
Portable: synth-0.12.4-linux-x64.tar.gz, synth-0.12.4-darwin-x64.tar.gz, synth-0.12.4-darwin-arm64.tar.gz, synth-0.12.4-win-x64.zip.
Images: synth, synth-backend, synth-ui (amd64/arm64, docker save, .tar.gz).
Checksums: SHA256SUMS in the release assets. Documentation: https://docs.synth.itphx.ru/offline/