# NEW CHAT SUMMARY — 2026-04-17 (baseline v9.42) ## 1) Текущий фокус продукта - Dashboard для операторов: table-first UX. - Данные читаются из API только по кнопке `Обновить`. - Внутри сессии/до refresh работа идет из in-memory/snapshot, без фоновых параллельных API-дозапросов. ## 2) Backend/Frontend контракт - Источник: `/instances/stream`. - Фронт ожидает NDJSON-события: `_progress`, `_detail`, `_meta`, `_done`. - Детали по строке не догружаются отдельным API-вызовом. ## 3) Критичные UX-инварианты (не ломать) - Сначала таблица, затем детали (параметры/история/зависимости). - Удаляемость: только backend-логика (`_meta.deleteCandidate`), правило `suspended >= 14 дней`. - Зеленая точка в колонке `Изменён` только для delete-candidate. - В light-theme статусы (`running/suspended/...`) имеют отдельные светлые палитры. - Граф зависимостей полностью отключен в UI (кнопки/вкладки/обработчики удалены). ## 4) Что изменено в этой сессии (ключевое) - Усилен контраст области деталей относительно основной таблицы. - Добавлена/усилена zebra-полосатость: - основная таблица (`row-base/row-alt`), - история, - параметры. - В таблице: - имена инстансов сделаны жирными, - в UUID добавлена кнопка копирования `⧉` с `stopPropagation`. - Исправлена логика кнопки темы: - если сейчас ночь -> иконка `☀` (переключить на день), - если сейчас день -> иконка `🌙` (переключить на ночь). ## 5) Актуальная версия и деплой - Docker image: `naeel/cloud-dashboard:v9.42`. - `k8s/deployment.yaml` обновлен до `v9.42`. - Rollout выполнен успешно. ## 6) Важные файлы - `static/index.html` — вся клиентская логика/рендер/темы/таблица. - `main.py` — backend API и stream endpoint. - `k8s/deployment.yaml` — текущий image tag. - `doc/CHAT_CONTEXT_FULL.md` — пошаговый журнал изменений (A..V). ## 7) Что проверить первым делом в новом чате 1. Убедиться, что в кластере и в deployment реально `v9.42`. 2. Smoke UX: - login -> refresh -> видна прогресс-загрузка, - строки таблицы полосатые, - графа нигде нет, - UUID копируется без раскрытия строки, - кнопка темы показывает целевое действие (☀/🌙). 3. Проверить, что нет API-запросов между refresh (кроме явных пользовательских действий). ## 8) Операционная дисциплина - Команды по проекту выполнять через SSH на VM. - Перед каждым деплоем обязательно increment image tag (минимум patch).