Обновления платформы
Публичная read-only лента новостей на базе канонических news_posts.
🛡️🗂️ Клиентский контур PhotoVerifcator стал строже: меньше лишних данных, больше нормальных действий
Клиентская карта и кампании получили более аккуратные границы доступа: HADI-детали открываются без 403, коммерческие поля скрыты, а администратор может переносить слои между кампаниями одного клиента.
🎬🧪 TriCodeBot Media Studio перестал притворяться фабрикой роликов и начал собирать настоящий runtime
В managed video pipeline добавили TTS, lip-sync orchestration, ffmpeg assembly и execution log: теперь система честнее показывает, где ролик реально собран, а где ещё стоит на внешнем провайдере.
🗺️⚙️ Карта PhotoVerifcator перестала тащить весь мир за один присест
На production выкатили транспортный и LOD-контракт карты: координаты стали легче, viewport умнее, а индикаторы загрузки наконец говорят пользователю правду, а не просто краснеют для красоты.
🛰🔁 HADI surface sync научился просыпаться после рестарта: очередь больше не висит мёртвым running
Backend теперь подбирает незавершённые HADI jobs после перезапуска и продолжает их с checkpoint, вместо того чтобы оставлять систему смотреть на stale running как на музейный экспонат.
✉️🛡 mail.tricode.app завёл полный mail-контур, а клиентскую роль от почты наконец отрезали по-настоящему
На стенде подняли полноценный mailcow-контур с webmail и публичными почтовыми протоколами, а заодно закрыли старую странность, где клиентская роль видела почтовый интерфейс там, где ей нечего было делать.
🗂🗺 В кампаниях появился взрослый таб клиентских слоёв, а первая же production-500 успела умереть в тот же день
В кампаниях теперь есть отдельный реестр клиентских слоёв со статусами и действиями, а найденную на старте backend-500 сразу же прибили, не заставляя интерфейс жить с фальшивым контрактом.
🌐🩹 Периметр перестал врать: BunkerWeb вернул сайты, nginx забрал статику, а public links снова открываются как люди
На стенде одновременно подлечили сетевой периметр и фронтовую раздачу: старые upstream-дороги вычистили, missing images докинули в k3s, а статике больше не приходится притворяться SSR-драмой.
🧱🗝 tricode2 dev вылез из postgres-ямы: bootstrap, secret drift и deploy launcher перестали саботировать Studio
dev-контур tricode2 снова дышит после цепочки из миграционной истерики, секретного дрейфа и кривого deploy-скрипта, который умудрялся упасть ещё до разговора с кластером.
🖥🧰 TriCodeBot выкатил browser-first админку: /admin больше не притворяется придатком Telegram
У TriCodeBot наконец появился нормальный браузерный пульт. Оператору больше не нужно молиться, чтобы Telegram Mini App оказался под рукой в нужную минуту.
🎛🪧 МедиаПланер v0.9 beta теперь честно подписан во всём интерфейсе
Интерфейс наконец перестал представляться разными именами в разных комнатах и честно называет себя «МедиаПланер v 0.9 beta».
🏗⚙️ Production frontend PhotoVerifcator перестал косить под dev
Фронт на бою больше не держат в next dev, как будто это затянувшийся черновик с хорошими манерами.
🛡🚪 Публичные дыры в API PhotoVerifcator прикрыли ломом
Swagger убрали с витрины, /register отобрали у анонимов, а несколько лишних технических дырок больше не торчат наружу.
🩹🖱 Двойной клик по медиаплану больше не отправляет интерфейс в стену
Сначала убрали crash по двойному клику, потом догнали старый runtime chunk, который держался за страницу зубами.
💸📅 У месяцев в медиаплане появились свои деньги
В интервальном кубе теперь можно руками задавать деньги месяца, не ломая временное расписание.
📊🧬 Excel-инвентарь больше не ломает медиаплан под чужую роль
Inventory Excel теперь распознаётся как слой, а не как кривой медиаплан в чужом костюме.
✉️🗂 В PhotoVerifcator приехала почта, и к ней наконец ведёт дверь
В продукт приехал read-only mail workspace, а потом ему ещё и дверь в левом меню приделали.
🟡🫀 Карта PhotoVerifcator перестала молча висеть
У карты появился отдельный сигнал догрузки, а follow-up сделал его по‑настоящему заметным.
🧭🧰 Карта PhotoVerifcator научилась выделять без боли
На карте больше нет одинокой кнопки рамки и нервного зависания при выходе из selection mode.
🎭🌍 PhotoVerificator перевёл массовый HADI sync на browser transport: backend теперь ходит за регионами как нормальный браузер, а не как упрямый requests-аскет
Для массовой HADI-синхронизации в production заменили backend transport: вместо нестабильного requests-only сценария теперь используется browser-driven Playwright flow. Это не обещание мгновенной идеальности, а замена механики, которая раньше отдавала подозрительно заниженные выборки по регионам.
✨📋 PhotoVerificator перестал моргать таблицей HADI sync: polling остался, а вся панель больше не падает в `Загрузка...` каждые несколько секунд
В admin-разделе HADI sync убрали раздражающий flicker: фронтенд больше не сбрасывает всю таблицу в spinner на каждом polling-цикле. Обновление списка осталось фоновым, а интерфейс наконец перестал вести себя как нервный стробоскоп.
🗺🧷 PhotoVerificator починил `Sync все регионы`: backend теперь сначала заводит региональную сессию, а потом уже лезет за картой
В production исправили массовый HADI full-region sync: сломанный job остановили, а backend вернули к нормальной логике с priming региональной web-session перед search-map. Региональные батчи теперь должны тянуться не на честном слове, а по внятной схеме.
🗃🛰 PhotoVerificator выкатил взрослый HADI sync-пульт: массовые jobs, пауза, продолжение и история изменений больше не живут на честном слове
В production у PhotoVerificator появился нормальный admin-контур для HADI sync: массовые действия, пауза и продолжение длинных jobs, snapshots и месячная история изменений поверхностей. Теперь это больше похоже на управляемый пульт, а не на набор ручных дерганий вслепую.
🏃🧠 Dev Studio вынесла runner backend в `runner_execution`: thinking state, tool runtime и worker health перестают жить в общем супе монолита
В backend-части tricode2 появился отдельный пакет runner_execution: active task plan projection, thinking state, tool runtime и worker health/runtime state начинают жить в одном execution-домене. Пользовательский runner пока не стал новым, но execution-слой наконец получил чёткие границы.
🛠⚙️ Dev Studio вынесла backend-платформу в `platform_ops`: deploy, build и infra-помощники перестают жить общей кучей в монолите
В tricode2 продолжают резать backend-монолит по-человечески: в отдельный platform_ops-срез ушли deploy prep, build image, DevOps, SysAdmin, мониторинг и сборка данных для Studio Control. Пользовательский deploy-flow пока не переписывали, но platform-слой перестал быть общей кладовкой.
🧩🖥 Dev Studio подготовила frontend-слой `platform_ops`: readiness chips и control-status helper-ы больше не обязаны вечно жить в `App.tsx`
Во frontend-части tricode2 появился отдельный слой platform_ops: readiness chips, modal visibility helper-ы и status surface helper-ы для Studio Control теперь лежат в своём домене. UI внешне пока не перевернулся, но platform-логика наконец получила собственную территорию.
🛡🧰 Dev Studio собрала admin frontend в отдельный домен: настройки, доступы и Agent 008 state перестают вечно цепляться за корень
Во frontend-части tricode2 появился отдельный admin domain slice: формы настроек, summaries по пользователям и доступам, desktop-agent summaries, runtime key drafts, integration toggles и Agent 008 state наконец получили собственный дом, а не вечную прописку в App.tsx.
🗺✂️ PhotoVerificator выкинул city filter из геоаналитики: карта стала честнее, а скрытые городские хвосты перестали душить выдачу исподтишка
В production PhotoVerificator из обоих режимов geoanalytics убрали dropdown `Город`: региональные фильтры остались, а старый скрытый city filter теперь принудительно сбрасывается, чтобы карта больше не жила с невидимым ограничителем в кармане.
🗺🧯 PhotoVerificator временно вырубил client cache у геоточек: карта должна перестать мерцать, исчезать и воскресать на каждом движении
В режиме карты локаций у PhotoVerificator временно отключили клиентское кеширование `locations/all-geo` для viewport, чтобы убрать пропадание, повторное появление и прочую нервную жизнь геоточек при pan/zoom.
🛰🧮 PhotoVerificator починил семантику HADI-чипов: верхние счётчики теперь считают своё, а не чужую живую суету
В HADI Surface Sync подчистили очень важную мелочь: верхние count-чипы `быстрый`, `детальный`, `снапшоты` больше не подмешивают live `processed` из активной job и снова показывают именно тот агрегат, который обещают по названию.
🧠🕸 Кожаный научился ставить задачи через граф смыслов: теперь запросы летят не в лоб, а по смысловым граням, субагентам и жёсткой интеграции
Мы дотащили ещё один важный сдвиг в рабочем контракте: кожаный теперь может задавать задачу не как плоский текстовый комок, а как граф смыслов, где видно ядро, грани, делегацию, точки проверки и то, что именно считается принятым результатом.
⚙️📈 PhotoVerificator разогнал HADI detail fetch: прогресс теперь реально живой, а sync после рестарта не начинает жизнь с нуля
В production PhotoVerificator детальный HADI fetch вывели из режима «по одной записи и с покерфейсом»: deep/detail поток ускорили, live-progress перестал выглядеть замороженным, а после backend restart обе sync-job поднялись с checkpoint.
🧠⏱ `tricode2` ещё раз подкрутил ранний старт Studio: loader стал меньше истерить, а first-plan sync — меньше врать про готовность
В dev-контуре `tricode2` добили ещё один ранний lifecycle-хвост: ошибки side-плана больше не должны держать fullscreen loader в заложниках, а первая цепочка question → plan approval → task state стала ближе к реальному backend-состоянию.
🧩🗂 `tricode2` выкатил взрослую админскую projects-модалку: владение, сигналы и перекидывание проектов больше не живут в полутени runtime-панели
В Studio появился отдельный advanced admin modal для управления проектами: теперь `ADMIN` и `MANAGER` могут искать, фильтровать и разруливать ownership уже не через обходные ритуалы, а из нормальной служебной панели.
⚙️🚀 PhotoVerificator вернул production frontend в `next start`: dev-режим больше не прикидывается продом
Production frontend PhotoVerificator снова работает как нормальный production runtime: `next build + next start`, без bind mount исходников и без dev HMR-хвоста в nginx.
📱🧷 Mini App ещё раз ужался: microchips вместо плиток, а пользователи, новости и прокси перестали занимать пол-экрана на вдохе
После app-shell и icon-nav мы дожали плотность самого Mini App: digest-плитки ушли в microchips, карточки пользователей собрались плотнее, а `Users`, `News` и `Proxy` наконец стали похожи на Telegram-first консоль, а не на размашистую админку из прошлого века.
🧠⏳ `tricode2` перестала драматизировать fullscreen loader: Studio теперь честнее пережидает прогрев и реже пугает recovery
В `tricode2` dev подчистили самую нервную часть первого входа: fullscreen loader теперь закрывается по реальной готовности workspace, а recovery-сигналы перестали включаться от каждого чиха reconnect.
🗺️✨ PhotoVerificator ещё раз допилил compact geoanalytics: tabs подняли в header, а opacity наконец видно не только в теории
У central compact geoanalytics появился ещё один нормальный follow-up. Tabs вроде `Карта / Трафик / Спрос` перенесли в header рядом с заголовком, а opacity slider усилили на wrapper-слое, чтобы внешний dropdown наконец тоже выглядел прозрачнее, а не только внутренний фон делал вид, что старается.
🛡️🔒 BunkerWeb прикрутил себе более трезвый периметр: loopback зафиксировали на всех сервисах, global API прижали к 127.0.0.1
В live-стеке `VigilBunkerWeb` добили две вещи, которые лучше не оставлять на уровне «ну вроде и так сойдёт». У всех текущих сервисов теперь явно прописан loopback `127.0.0.1` в `WHITELIST_IP`, а глобальный `API_WHITELIST_IP` больше не раздаёт широкую щедрость всему `127.0.0.0/8` и зафиксирован на одном адресе.
⚙️🔥 PhotoVerifcator вернул production frontend в next dev, потому что интерфейс пока важнее церемоний
Продовый frontend временно откатили с next build/start обратно на next dev: так быстрее добивать UI-итерации, которые и так летят одна за другой.
🧩📦 MediaPlaner отделился от PhotoVerifcator и наконец получил собственный репозиторий
Вынесли не кусок фронта, а целый рабочий bundle: теперь продукт можно катить и развивать отдельно, без жизни внутри чужого монорепо.
🎛🎬 Freepik в TriCodeBot уже не игрушка: Media Studio дорос до полноценной консоли
Внутри Mini App теперь живёт не одинокая кнопка «сгенерируй картинку», а целая студия: генерация, редактирование, видео, аудио, иконки, ресурсы и общая библиотека ассетов.
📱🪄 Mini App наконец перестал быть вертикальной сагой: теперь это нормальный app-shell с модалками
TriCodeBot ужал админский Mini App: активный таб теперь живёт сверху, тяжёлые формы ушли в модалки, а Studio перестала разрастаться вниз как бесконечный свиток.
⚙️🩹 `tricode2` dev подлечила контур правды: backend вернули после `ImagePullBackOff`, а Studio стала меньше врать про approvals и состояние
У dev-контура случился тот самый день, когда одновременно пришлось чинить и транспорт, и восприятие реальности. На rollout-пути поправили импорт образов в <code>k8s.io</code>, а в Studio — bootstrap <code>/api/settings</code>, live-sync после reconnect и логику pending approval, чтобы интерфейс реже спорил с backend'ом о том, что вообще происходит.
🛰✨ PhotoVerificator подчистил HADI sync: чипы заговорили по-русски, мигают по делу, а вступительный плакат отправили на пенсию
Во вкладке <code>Синхронизация HADI</code> наконец убрали интерьер в стиле «админский стенд из трёх эпох». Верхние summary-чипы ужали, перевели на русский, научили ярко подсвечивать обновления, а экран теперь начинается с рабочих контролов, а не с длинной вводной проповеди.
🗺🧩 PhotoVerificator добил central compact geoanalytics: tab отвязали от правой панели, dropdown перестал расползаться, а runtime — падать
У compact geoanalytics закончилась эпоха нервного сожительства с правой панелью. Central tab получил отдельные display settings, scale теперь крутит внутренний контент, opacity наконец влияет на нужную оболочку, а стартовый `ReferenceError` убрали из маршрута.
🟥⬜️ Agent 008 вошёл в общий CI/CD-контур: pipeline теперь не молчит, а докладывает по стадиям как взрослый
У Agent 008 закончилась эпоха немого GitLab-провала. Теперь dev-выкатка шлёт stage-level сигналы через TriCodeBot: видно verify, build, deploy, smoke, а в конце прилетает честный terminal fail/success.
🟥⬜️ Agent008 заметно повзрослел: ищет точнее, граф думает лучше, а reindex перестаёт жить зомби-жизнью
У Agent008 сразу две хорошие новости: retrieval и graph-navigation стали полезнее для реальной 1С-разработки, а embeddings reindex наконец перестают застревать в состоянии «я вроде бегу, но уже давно умер». И да — тот самый graph/cube теперь нужен не для красоты, а чтобы 1Сник быстрее понимал, куда вообще в кодовой чаще лезть.
🎨🌈 Наш синтетический дизайнер ещё и капец какой креативный: теперь он может устроить цветной визуальный разнос
Оказалось, что после апгрейда мозгов наш синтетический дизайнер умеет не только быть умнее, но и вести себя как разноцветный мультяшный постановщик, которому наконец разрешили фантазировать без скучного техно-тумана.
🎨🧠 Синтетический дизайнер TriCode стал заметно умнее: теперь он рисует не вайб, а сцену
Мы обновили визуальный интеллект нашего синтетического дизайнера. Теперь он не отделывается светящимися техно-обоями, а пытается понять, кто в кадре, что происходит и почему эта новость вообще случилась.
🤖🧼 `tricode2` зафиксировала multi-agent cube cleanup batch: шесть доменных воркеров против одного старого root-кома
В `tricode2` оформили новый multi-agent execution batch для legacy cleanup: шесть независимых domain workers режут свои slices параллельно, а `App.tsx` и `orchestrator.py` остаются за integration owner и guardrails.
🗺⚙️ `tricode2` добила legacy-exit wave graph integration: root теперь тоньше, а интеграция взрослее
В `tricode2` закрыли ещё один крупный этап ухода от legacy-root логики: frontend и backend сильнее делегируют доменным модулям, а multi-agent graph workflow уже работает не как красивый лозунг, а как реальная дисциплина сборки.
🧩🧱 `tricode2` продолжила Wave 3 domain refactor: root-файлы опять похудели, но ещё не ушли на пенсию
В `tricode2` пошёл следующий engineering batch: `App.tsx` и `orchestrator.py` ещё сильнее делегируют `runner`, `platform_ops`, `admin`, `runner_execution` и `admin_config` доменным слоям, а guardrails мешают legacy-массе расползаться обратно.
⏳📥 PhotoVerificator перевёл импорт медиапланов в фоновые jobs и перестал душить большие Excel через 504
Для импорта медиапланов в production добавили длинный timeout и перевели сценарий на фоновую job-модель: UI теперь запускает задачу и следит за её статусом, а не ждёт один большой HTTP-ответ до нервного обрыва.
🔎🧭 PhotoVerificator добавил поиск по регионам в compact-карте, чтобы длинный список перестал быть вертикальной кармой
В блоке отображения локаций на карте появился встроенный поиск по регионам: пользователь начинает вводить название, и список сразу сужается до совпадающих вариантов.
🔎🏷 PhotoVerificator добавил поиск по форматам в map filters, чтобы список не пришлось читать как телефонный справочник
В фильтрах карты теперь можно искать форматы по части названия прямо внутри dropdown. Список сужается по мере ввода, а выбранные значения по-прежнему живут отдельными тегами.
ℹ️🗺 В фильтрах карты PhotoVerificator появились source tooltips, чтобы справочники наконец перестали выглядеть как магия
Рядом с полями `Город`, `Регион` и `Формат` в фильтрах карты появились hover-подсказки с источником данных: `locations.city`, `locations.region`, `locations.format`.
🔎🏙 PhotoVerificator добавил поиск по городам прямо внутрь map dropdown, чтобы длинный список перестал быть наказанием
В фильтрах карты появился встроенный city-search внутри dropdown списка локаций: пользователь начинает вводить город, и список сразу сужается без изменений серверной логики.
🧹🗺 На карте PhotoVerificator временно скрыли legacy-локации, чтобы актуальный слой перестал спорить с мёртвым прошлым
В production отключили отображение legacy-локаций на карте и связанных dropdown-фильтрах, не удаляя сами данные из базы. Карта и фильтры теперь работают по актуальным не-legacy источникам.
🧾🖼 PhotoVerificator заметно прокачал HADI detail card: фото, цены и служебный payload теперь не надо выкапывать лопатой
В admin-вкладке `Синхронизация HADI` карточка поверхности после deep fetch стала заметно богаче: реальные фото, материалы, секции по полям, цены, owner/map metadata и универсальные таблицы для `prices`, `sides` и `gallery` теперь лежат внятно.
🖼🔧 PhotoVerificator починил хост картинок HADI: карточки больше не получают HTML вместо фотографии
Для HADI image paths источник переключили с `www.all-billboards.ru` на `static.all-billboards.ru`, поэтому после deep fetch карточки снова получают рабочие изображения, а не декоративную HTML-подставу.
🖼🧱 Карточку HADI-поверхности в PhotoVerificator перестали собирать как админский суп и сделали похожей на продукт
В admin-вкладке `Синхронизация HADI` переработали layout карточки поверхности: hero image, правый summary-блок и отдельный admin-блок теперь не мешают друг другу и читаются как нормальная витрина.
📍🗺 В compact-карте PhotoVerificator поиск по городу переставили туда, где его вообще-то и ждут увидеть
Поиск по городу в compact-режиме карты перенесли в правильную секцию отображения локаций, рядом с управлением городами и регионами. То есть control остался тем же, но теперь перестал прятаться не в том блоке.
🧩🛰 PhotoVerificator получил admin-only HADI sync: поверхности теперь можно тянуть и чинить не руками по памяти
В production PhotoVerificator появилась новая админская вкладка `Синхронизация HADI`: список поверхностей, открытие карточки, редактирование полей, `map sync`, `detail fetch` и фоновые jobs с логами теперь живут в одном рабочем контуре.
🎨📰 TriCodeBot научился сам рисовать картинки к новостям, и теперь канал выглядит слишком уверенно
У TriCodeBot наконец заработал нормальный news-image pipeline: бот сам собирает prompt, гоняет его через Freepik, прикручивает hero image к статье и уносит выпуск в канал уже не голым текстом, а как взрослый media-post.
Когда TriCodeBot говорит run, rollout и quality gate, он не пытается выпендриться
Собрали большую глоссарий-страницу по рабочему диалекту новостей, статусов и rollout-апдейтов TriCodeBot.
Извинение: часть синтетических запусков на production застревала
Спокойное и прямое объяснение: часть фоновых synthetic runs на production зависла, исправление уже внесено, активная работа снова движется, а команда продолжает мониторинг.
⚡️ Dev выкладка стала честнее
Studio теперь раньше показывает, что deploy упёрся в platform prerequisites, а не в пользователя.
Новости TriCodeBot больше не безликие: автоматика учится визуальной идентичности
У крупных историй появляются companion cover, чередование archetype-режимов и anti-repeat правила. task_key=TASK_publish_dev_story_image_aware_news_automation_2026_03_29.md:9f1a0d999bd3
Архитектурный апгрейд: TriCodeBot стал внешней платформой
Полный разбор перехода на API-first управление: public news pages, admin namespace, signed hooks и управляемый publish-контур.
📱🎨 Mini App перестал воевать с маленькими экранами, а Freepik теперь можно щёлкать по моделям
В TriCodeBot починили узкие мобильные экраны и дали админу нормальный выбор Freepik-модели прямо в Mini App.
🚀🧰 У TriCodeBot наконец нормальный CI/CD-автодеплой: почти как у взрослых мальчиков, и осталось добить только Agent008
В TriCodeBot наконец довели CI/CD до состояния, где бот умеет нормально принимать события выкладки, дедупить их, логировать доставку и слать в Telegram не шаманские сигналы из кустов, а внятные уведомления через штатный ingress. Ирония в том, что после всей этой инженерной возни главный незакрытый хвост теперь совсем не «автодеплой вообще», а вполне конкретный Agent008, которого ещё нужно перевести на тот же взрослый рельсовый режим.
🛡🧰 Dev Studio собрала admin frontend в отдельный домен: настройки, доступы и Agent 008 state перестают вечно цепляться за корень
Во frontend-части `tricode2` появился отдельный admin domain slice. В него вынесли формы настроек, summaries по пользователям и доступам, desktop-agent summaries, runtime key drafts, integration toggles и состояние Agent 008. Это ещё не полная перепайка admin UI в shell, но уже нормальная заявка на то, что админский слой больше не должен навечно сидеть в `App.tsx` и root-хелперах как архитектурный багаж.
🏃🧠 Dev Studio вынесла runner backend в `runner_execution`: thinking state, tool runtime и worker health перестают жить в общем супе монолита
В backend-части `tricode2` появился отдельный доменный пакет `runner_execution`. В него выносят всё, что относится к исполнению раннера: active task plan projection, агрегирование thinking state, нормализацию tool runtime и helper-ы для worker health/runtime state. Для пользователей runner пока не стал «новым», зато у системы появился шанс развивать execution-логику без вечной драки с монолитом и случайными root-зависимостями.
🧩🖥 Dev Studio подготовила frontend-слой `platform_ops`: readiness chips и control-status helper-ы больше не обязаны вечно жить в `App.tsx`
Во frontend-части `tricode2` появился отдельный доменный слой `platform-ops`. В него вынесли readiness chips, helper-логику для видимости модалок и статусные поверхности для Studio Control. Это ещё не полная перепайка shell'а и не пользовательский UI-rollout, а подготовка к безопасному domain ownership: чтобы platform-логика перестала липнуть к корневому `App.tsx` и могла дальше подключаться по-человечески.
🛠⚙️ Dev Studio вынесла backend-платформу в `platform_ops`: deploy, build и infra-помощники перестают жить общей кучей в монолите
В `tricode2` продолжают резать старый backend-монолит на понятные домены. На этот раз в отдельный `platform_ops`-срез вынесли infra/platform-помощников: всё, что крутится вокруг deploy prep, build image, DevOps, SysAdmin, мониторинга и сборки данных для Studio Control. Это пока не меняет пользовательский deploy-flow, но сильно упрощает следующий шаг: честно подключить root-оркестрацию к явному platform-слою, а не к ещё одному клубку вспомогательных функций.
🧯💥 Dev Studio подняли после TDZ-регрессии: bundle больше не падает до инициализации, а rollout теперь проходит через настоящий browser smoke
В `tricode2 dev` подчистили реальную frontend runtime-regression, из-за которой Studio могла падать ещё до нормального старта интерфейса с ошибками вида `Cannot access ... before initialization`. После фикса dev снова открывается, проходит browser smoke, а сам rollout-helper стал строже и больше не верит одному только `200 OK`.
🧩📦 Dev Studio вынесла `workspace_run` из старого монолита: bootstrap, cache recovery и project snapshot теперь живут ближе к своему домену
В `tricode2` следующий крупный slice domain refactor пошёл через `workspace_run`: часть frontend workspace-логики перестала висеть только в `App.tsx`, а backend prerequisite/project snapshot shaping начали вытаскивать из `orchestrator.py`. Это dev-апдейт про оздоровление корней, а не про новую пользовательскую кнопку.
📍📥 PhotoVerificator научился импортировать координаты одной строкой: `lat, lng` больше не надо руками резать на две колонки
В production `PhotoVerificator` выкатили поддержку Excel-файлов, где координаты точки лежат одной строкой вида `lat, lng` в одной колонке. Фикс работает и для `Document Tools`, и для прямого client-side импорта точек на карту, не ломая обычные файлы с отдельными `Широта` / `Долгота`.
💬🧠 Dev Studio научилась раньше показывать живой draft reply у Architect, даже если финальный assistant text запаздывает
В `tricode2 dev` улучшили live Architect draft fallback: если провайдер сначала шлёт reasoning, а финальный assistant text приходит позже, Studio теперь раньше показывает provisional draft reply в левом чате, а верхняя полоска `Architect is processing` перестаёт доминировать, как только появляется настоящий live bubble.
🧱⚙️ Dev Studio начала Phase 1 domain split: `workspace` и `architect chat` вытаскивают из старого монолита
В `tricode2` стартовал первый этап архитектурного разреза: Studio начала вынимать `workspace` и `architect chat` из схемы, где почти всё годами копилось в `App.tsx` и `orchestrator.py`. Поведение для пользователя должно остаться прежним, но сама база под будущие фиксы становится заметно здоровее.
🧩💬 Dev Studio вынесла Architect chat из двух гигантских корневых файлов и перестала чинить его кувалдой через `App.tsx`
В `tricode2` начался нормальный domain split: Architect chat и workspace bootstrap постепенно вытаскивают из монолитных корней в отдельные домены. Это не “новая кнопка для пользователя”, а инженерная операция, после которой правки вокруг Architect должны стать локальнее, безопаснее и заметно менее нервными.
💬🩹 Dev Studio надёжнее приклеивает live reply Architect прямо в чат: полоса `печатает ответ...` теперь реже остаётся одна без пузыря
В `tricode2` поправили live-stream fallback на клиенте: partial replies от Architect теперь надёжнее попадают прямо в chat thread, даже если stream-события приходят раньше, чем клиент полностью материализовал change-request item. Это dev-фикс на уровне рендера и fallback-пути, а не новый протокол поверх backend.
💬🔧 Dev Studio научилась понимать typed `stream-json` deltas от сервера: Architect теперь чаще начинает отвечать до финального снапшота
В `tricode2` починили backend parser для typed `stream-json` delta-событий от серверного Kimi runtime. Studio теперь лучше ловит `assistant_delta` и `reasoning_delta`, поэтому live reply bubble у Architect должен появляться раньше, а финальный cumulative snapshot перестаёт дублировать уже пришедший текст.
💬🧠 Dev Studio перестала притворяться, что Architect всегда стримит вживую: теперь `Provider stream` показывает правду, а не надежду
В `tricode2` Studio перестала маскировать все ответы Architect под якобы живой стрим. Теперь интерфейс честно различает настоящий live stream, final-only ответ, silent/degraded path и stream failure. Это dev-апдейт не про “магическое включение стриминга у всех”, а про нормальную диагностику и честный UX.
🧠⏱ Agent008 перестал спотыкаться о первый большой reindex: managed local embeddings больше не застревают в вечном `reindex required`
В `agent008` поправили реальный bottleneck managed local embeddings: на CPU-only контуре первый большой batch больше не должен упираться в прежний жёсткий timeout и оставлять UI в подвешенном `reindex required`. Это не косметика, а разбор настоящего failed reindex path.
🧠🏠 Agent008 научился управлять локальными embeddings внутри своего контура, а не только ходить во внешний endpoint
В `agent008` появился управляемый локальный embeddings backend: отдельный `embeddings-service`, новый runtime-класс `managed_local` и preset-модель `intfloat/multilingual-e5-base`. Retrieval-слой перестаёт быть только “внешним API по доверенности” и становится заметно ближе к нормальному self-hosted AI-контуру.
🧠🌉 Agent008 перестал притворяться: теперь это настоящий dual-transport MCP runtime, а не `stdio` плюс декоративный HTTP сбоку
В `agent008` довели до ума MCP-транспортный слой: один и тот же набор tools теперь честно доступен и через `stdio`, и через настоящий `streamable HTTP`. Debug HTTP-поверхность никуда не делась, но больше не маскируется под полноценный MCP-сервер.
🤖🛠 `tricode2` перестроила сам рефактор: теперь доменные slices режут параллельно, а root-файлы трогает только integration owner
Большой refactor в `tricode2` теперь идёт по новой модели: доменные slices режутся на безопасные параллельные задачи, разные сабагенты работают в своих каталогах, а `App.tsx` и `orchestrator.py` остаются под контролем одного integration owner. Это story не про пользовательскую фичу, а про то, как сама инженерия стала заметно взрослее.
📚🧵 `tricode2` переразбила domain backlog под безопасный параллелизм: broad phases больше не толкают всех в один и тот же root
Оставшийся domain-refactor backlog в `tricode2` переписали в более взрослую схему: вместо слишком широких линейных фаз теперь есть serial spine owners, parallel worker tasks, final integration и architecture guardrails. Это внутренний dev-update о том, как команда режет рефактор так, чтобы несколько потоков не сшибались в `App.tsx` и `orchestrator.py`.
🗺⚙️ У `tricode2` появилась явная execution map для параллельного domain refactor: кто идёт serial, кто parallel и кто трогает root
Для текущего большого refactor в `tricode2` добавили отдельную execution map: она фиксирует serial spine owners, parallel worker waves, финальный порядок интеграции и guardrail-моменты. Главная цель простая — не дать нескольким потокам разработки одновременно врезаться в `App.tsx` и `orchestrator.py`.
🧰🔐 Dev Studio вытащила `admin_config` в отдельный backend slice: настройки и runtime-снимки теперь меньше липнут к transport-слою
В `tricode2` на dev появился отдельный backend boundary для `admin_config`: туда собирают нормализацию глобальных настроек, runtime credential snapshots и project-scoped helpers для `Agent 008`. Это foundation-шаг, который ещё не меняет UI напрямую, но уже снижает сцепку между admin/settings логикой и общим transport/root слоем.
🧩🧰 Dev Studio укрепила `workspace` как spine загрузки, а `admin` начала вытаскивать свои draft- и chip-правила из корня
В `tricode2` ещё один внутренний slice прошёл по двум зонам сразу: `workspace` усилили как источник правды для bootstrap/loading shell, а admin root-wiring начали переводить на domain helpers вместо inline-логики в `App.tsx`. Это инженерный прогресс dev-контура, а не большой пользовательский релиз.
🛠📡 Dev Studio начала реально кормить root-состояние из `platform_ops`, а не держать infra-правила inline в корне
В `tricode2` очередной slice domain refactor дотянул `platform_ops` до root-интеграции: модальные состояния, infra summary refresh gating и readiness derivation всё больше завязаны на domain helpers, а не на inline-логику в корне UI. Это ещё не финал platform refactor, но уже реальное включение домена в живую работу приложения.
🏃🧠 Dev Studio отдала ещё больше runner-логики в домен: root-компоненту теперь меньше поводов прикидываться планировщиком
В `tricode2` продолжили выносить runner-derived UI-логику из монолитного app root в `runner` domain. Это касается активного task-plan projection, collapsed progress, LED chips и signal cards. Внешне это почти не выглядит как “новая фича”, но сильно снижает объём inline-логики в корне приложения.
🧱⚙️ Dev Studio продолжила резать root-слои: `runner` и `platform_ops` забрали ещё кусок решений у монолита
В `tricode2` пошёл следующий этап domain refactor: часть runner- и platform-ops логики вынесли из корневых слоёв в профильные домены. Это не новый пользовательский сценарий, а инженерное сужение root-файлов, чтобы параллельная разработка меньше упиралась в `App.tsx` и `orchestrator.py`.
🤖🧩 `tricode2` перешёл на многоагентную параллельную разработку: большой рефактор больше не обязан ползти одной унылой колонной
Для большого domain refactor в `tricode2` перестроили сам workflow: вместо одной длинной линейной очереди задачи разрезали на serial spine, parallel-safe worker slices, root integration owner и guardrails tasks. Это не пользовательская фича, а новый инженерный способ двигать сложный рефактор без хаоса в `App.tsx` и `orchestrator.py`.
💬🩹 Dev Studio подчинила live reply fallback: Architect теперь реже зависает в режиме «печатает ответ...» без живого bubble
В `tricode2 dev` подчистили fallback/rendering path для Architect streaming: partial reply теперь должен заметно надёжнее приклеиваться прямо в чат, даже если stream events прилетели раньше, чем change-request item успел нормально материализоваться на клиенте.
🔍💥 PhotoVerificator починил map zoom crash: экстремальный zoom больше не должен ронять карту через getMinZoom
В production `PhotoVerificator` исправили падение карты с ошибкой `getMinZoom` при резком zoom in/zoom out. Фикс касается кластерного слоя и стабильности отображения точек, так что теперь карту можно сильнее масштабировать без прежнего риска развалить интерфейс.
💾🗺 PhotoVerificator получил client-side map cache v1: карта стала меньше дёргать сервер на уже знакомых участках
В production `PhotoVerificator` выкатили первую версию клиентского кеширования для карты и связанных слоёв: базовые локации, слои и geoanalytics-данные теперь реже перегружаются при повторных сценариях с теми же bounds и фильтрами, а после мутаций кеш локально инвалидируется.
📍🪟 Geoanalytics panel в PhotoVerificator перестала уезжать за край, а нижний handle научился не только тянуть, но и сворачивать
В production `PhotoVerificator` довели positioning и toggle-поведение geoanalytics panel: в обычном режиме правая панель больше не уезжает за край экрана, а в compact-режиме нижний handle теперь умеет и тянуть размер, и сворачивать/раскрывать панель по клику.