2026-09-17
Кабинет начал показывать целостность корпуса и время ответа по фазам
В интерфейсе Кабинета появилась строка «видно поиску N из M» под списком документов. Если не все документы доступны для поиска, отображается, какие именно и сколько кусков не имеют векторов. Это позволяет клиенту, который сам загружает документы, увидеть расхождение между статусом «обработано» и фактической видимостью для поиска.
В панели метрик и в строке чата теперь разбивка по фазам: «поиск 2,1 с · ответ 25,3 с» вместо единой цифры длительности. Пока полей нет, кабинет молчит, а не рисует нули: /api/lab/rag/health отдаёт пусто, timings в done просто отсутствует.
2026-09-16
Прайс перешёл на детерминированный поиск: отказ «не поняла» убран, «ё» больше не мешает
Модель Moonshot при temperature 0.6 размечала один и тот же вопрос то в справочник, то в отказ: клиент получил «Не поняла, о чём вопрос» на «Удалить атерому», хотя услуга была в прайсе. Теперь перед отказом вопрос ищется в справочнике механикой client_db.probe — без модели и SQL, что даёт один ответ на один вопрос.
Окончание слова снимается по самому справочнику, а не по фиксированному правилу: «атерому» → «атером» вместо «атеро», которое цепляло атеросклероз. Попутно исправлена потеря 531 строки из 862 из-за «ё»: «приём» сотрудника не находил «прием» прайса, теперь «ё» снята с обеих сторон.
2026-09-16
Вопросы из кабинета подписываются номером обращения для сквозной диагностики
Платформа поиска возвращает ответы без разбивки по фазам, поэтому при инциденте в 663 секунды разобрать его было невозможно: у лаборатории не было номера запроса. Теперь каждый вопрос из кабинета получает собственный идентификатор вида syn-<кабинет>-<время>-<4 знака>, который уходит в поиск заголовком X-Request-Id и фиксируется в журнале вопросов рядом с длительностью.
Номер позволяет размечать журнал платформы своими метками и избегать сличения по времени, которое перестаёт работать при росте нагрузки. Следы на стороне платформы хранятся около суток, так что разбор возможен по свежему инциденту, но не через неделю.
2026-09-12
Хроника научилась искать опору по дереву, если модель назвала не тот файл
Конвейер утренней хроники теперь ищет строку-опору по дереву репозитория, если модель приписала признак не тому файлу. Служебная голова признака («+» или «−», путь и разделитель) при этом отрезается. Также введён потолок в 1500 строк на вход — ранее при размере лога в 400 строк обе новости отбрасывались.
2026-09-09
Виджет помощника научился уходить на запасной сервер, если основной молчит
Если первый байт ответа от основного сервера не пришёл за три секунды, скрипт виджета автоматически дублирует вопрос на запасной адрес. После срабатывания failover разговор продолжается с запасного сервера в течение минуты. В строке под ответом появляется пометка «запасной сервер».
Проверено на заглушке: основной сервер молчит, ответ приходит с запасного за 8,2 секунды с пометкой. При живом основном поведение прежнее.
2026-09-09
В кабинете студии появились пределы на услуги, правила, списки формы, календарь и корзину
Услуг не более 60 в рабочем кабинете и 30 в демо, правил — 40 и 20, вариантов в списке формы — 15 и 10, календарь ограничен 400 и 120 днями вперёд, корзина — 60 и 30 элементами. Добавление сверх предела сопровождается отказом с сообщением; прошлое календаря старше двух месяцев и корзина сверх предела чистятся при сохранении.
Пределы приходят в state.limits и показаны подсказками в кабинете.
2026-09-07
Обновлена таблица эксперимента «Документы на плате»: перезамер 6 сентября на чистом индексе
В модуль edge-rag внесены результаты перезамера 6 сентября на чистом индексе: 8 верных, 2 частичных, 2 неверных из 12 вопросов в режиме по фрагментам, медиана ответа 46 с. Добавлены оговорки про строки сервера и Repka.
2026-09-07
В паспорте AX650N уточнён рабочий контекст: ≈1,2K токенов по замеру
В спецификацию стенда AX650N внесён фактический лимит контекста, полученный экспериментально 6 сентября: 1 200 токенов проходят, 1 290 вызывают отказ сборки. Ранее указывался лимит сборки 2K.