| 2026-09-22 |
Детализация: выброшенные из заголовка детали не теряются
...
Промпт (ru/en) требует переносить убранное из заголовка (условия, числа,
уточнения) в описание, few-shot пример теперь учит переносу (description
не null). Страховка от нарушения правила маленькими моделями: если заголовок
сокращён, описания нет, а содержательные слова/числа исходника пропали —
исходный заголовок целиком кладётся в описание (при заполненном пользователем
описании не срабатывает). ТЗ 0.46 (§3.2).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
5 hours ago
|
MCP: управление проектами — создание, обновление, архив/восстановление
...
Тулы create_project (микронаграда + фоновая суммаризация заметки),
update_project (имя/заметка/relevance_status/приоритет) и
archive_project/restore_project — архив вместо безвозвратного удаления:
задачи и история переживают архив, вызовы идемпотентны, delete-тула
в MCP нет намеренно. ТЗ 0.45 (§3.10).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
6 hours ago
|
Кнопка «Добавить» в попапе: icon-проп вместо слотового <i>
...
GnButton вешает with-icon (иконка в левой полосе) только на icon-проп;
слотовая иконка рендерилась вне раскладки кита. Заодно busy — через
:loading (спиннер кита).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
12 hours ago
|
Попап расширения на компонентах кита + список только «В работе»
...
GnInput/GnTextarea/GnSelect вместо сырых полей (тёмные стили кита живут
в .form-group), GnTabs вместо самодельных вкладок, GnBadge у проекта
и тегов, лоадер по центру; тосты кита перекрывали сплошной фон тинтом
rgba(…,.18) — в попапе фон приведён к #1f2335. Вкладка «В работе» —
только in_progress (ТЗ 0.44).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
12 hours ago
|
ТЗ 0.43: страница-инструкция расширения (§3.18)
...
Меню только в веб-версии (скрыто в PWA), ZIP раздаётся статикой фронта.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Docker: ZIP расширения собирается в образе фронта
...
Контекст сборки web — корень репо (+.dockerignore): стадия extension
после фронта, zip dist раздаётся статикой nginx по /extension/…
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Страница-инструкция расширения: /extension в меню веб-версии
...
Скачивание ZIP (extension pack → статика фронта), шаги загрузки unpacked
и подключения MCP-токена; из установленного PWA пункт меню скрыт
(display-mode: standalone), по прямому адресу — пояснение.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
ТЗ 0.42: браузерное расширение быстрого захвата (§3.18)
...
Две вкладки («Добавить»/«Активные» — просмотр), аутентификация Bearer
MCP-токеном, настраиваемый базовый URL; кросс-ссылка в §3.10.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Расширение быстрого захвата: попап «Добавить/Активные» на Bearer MCP-токене
...
Chrome/Firefox MV3, vite-сборка с Vue + gnexus-ui-kit. Сессионная кука из
extension-контекста не уходит (SameSite=Lax) — REST /api/* ходит с Bearer
MCP-токеном; базовый URL настраиваемый, «Активные» — только просмотр.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Bearer MCP-токен на REST /api/*: аутентификация расширения и агентов
...
Сессионная кука (SameSite=Lax) не уходит из extension-контекста —
расширение ходит с Bearer-токеном из «Настроек → Токены MCP»;
require_user и /auth/me фоллбэкаются на него при пустой сессии.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Карточка тегов на странице проекта: максимум 400px, внутри скролл
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Подсказка про README — у заметки проекта, не у задачи
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Карточка тегов на странице задачи: максимум 400px, внутри скролл
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Подсказка: описание можно заполнить ссылкой на публичный репозиторий
...
В подписи редактора при создании задачи и на странице задачи
(пустое описание, инлайн-правка) — «вставьте ссылку на публичный
репозиторий — вместо описания подтянется README». Локали ×3, ТЗ 0.41.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Линки маркдауна — в новой вкладке (PWA не ловит навигацию)
...
renderMarkdown добавляет <a target="_blank" rel="noopener">: описание
задачи, заметка проекта, README и превью MdEditor — все ссылки
открываются во внешность, standalone-PWA окно не уводят.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Длинная заметка проекта сворачивается: начало + «Развернуть»
...
Высота блока заметки (или README от ссылки) мерится по факту рендера
(ResizeObserver — картинки догружаются и растут): выше ~420px —
сворачивается, под ней подсказка «Заметка большая — показано начало»
и кнопка «Развернуть»/«Свернуть». Локали ×3, ТЗ 3.8/0.41.
Проверено headless: длинный README свёрнут (420px, подсказка на
месте), «Развернуть» раскрывает до полных ~4700px.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
README вместо заметки-ссылки на проекте — как в описании задачи
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Рафф по старым миграциям: сортировка импортов, EOL, перенос строки
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
README.md вместо описания-ссылки на репозиторий
...
Если описание задачи — одна ссылка на git-репозиторий, на странице
задачи вместо неё показывается README.md оттуда (с подписью-ссылкой
на источник; сырое описание в БД не меняется, чекбоксы README не
патчат описание).
Хост не обязан быть GitHub/GitLab (ТЗ 3.3, 0.41): селф-хостед системы
ищутся эвристикой — API github/gitlab/gitea + raw-пути web-интерфейсов
с дефолтной веткой HEAD (проверено на селф-хостед GitBucket);
не нашли — 404, остаётся ссылка. Кэш прочтений в памяти, 10 минут.
- backend: services/readme.py (эвристика + перебор, кэш),
GET /api/repo-readme?url=, тесты (кандидаты, кэш) — 159 тестов
- frontend: api.getRepoReadme, TaskView показывает README вместо
описания при одиночной ссылке; локали task.readmeFrom ×3
Проверено headless на живом фронте: git.gnexus.space (GitBucket) и
github.com — README рендерится, при неудаче остаётся ссылка.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Лоадеры и скелетоны: спиннер обновления в шапках, скелетоны под макет страниц
...
- Спиннер обновления (GnLoader circle, .refresh-loader fixed под топбаром) в
#actions шапок списков: задачи, стек, проекты, архив, проект, задача, опции
- Скелетоны заменены с рамочного .skeleton-stack на макет-мимикрирующие
карточки кита: списки — сетка карточек с бейджами, задача — сетка main/сайд,
статы — метрики, сад — блок + строки
- kit-overrides.css: только теговые бейджи/чипы без uppercase, позиция спиннера
- Локаль common.loading (ru/en/uk)
Проверено headless на живом фронте: скелетоны на первом входе (list 4 карточки,
task 5 карточек/12 линий, stats 3 метрики, garden блок+2 линии, projects 3,
archive 2, stack 3+6 бейджей), спиннер появляется при обновлении данных.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
Теги: подсказки существующих по набору в полях тегов
...
GnTagInput кита (v0.4.0) без автодополнения — тонкая обёртка TagField:
строка чипов-подсказок под полем, фильтр по набираемому тексту (он читается
из всплывающего input-события внутреннего поля кита). Клик по подсказке
добавляет тег и очищает ввод синтетическим input-событием.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Теги — без аперкейса кита (бейджи тегов и чипы ввода тегов)
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Список задач: завершённые сортируются по дате закрытия, а не добавления
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Статус-блок: «Завершено» у задачи в работе, «Не хочется делать» — только до начала
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Предложение ИИ: кнопки «Не то» вместо «Я сам», все действия — мелкие
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
Двуязычный промпт детализации: язык задачи → язык промпта
...
Маленькие модели мимикрируют под язык промпта, а правило «отвечай по-русски»
внутри английского промпта игнорируют: qwen3.5:2b отвечал английским на русские
задачи. Промпт теперь строится на языке исходника (_is_cyrillic → _prompt_ru /
_prompt_en), few-shot пример тоже на языке задачи.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
ИИ-детализация: только оформление (заголовок/описание/теги EN), суммаризация проектов (ТЗ 0.40)
...
- Убрано ИИ-планирование с 0% попадания: LLM больше не предлагает
проект, приоритет и оценку времени — их заполняет пользователь
- Заполненные пользователем поля не угадываются при первичном анализе;
«Переспросить ИИ» (force) — полный анализ
- Ответ LLM — на языке исходного текста; новые теги — только английские
- Улучшено сжатие заголовка: лаконичное название + описание с шагами
- Суммаризация заметок проектов (projects.summary, миграция
a9b8c7d6e5f4): контекст LLM вместо полных заметок; перегенерация
при правке заметки
- Фикс \u-эскейпов в JSON-колонках (ensure_ascii=False): MCP-агенты
видят кириллицу, а не «u0432»
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
Список задач: карточки двухколоночного grid не выходят за контейнер
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
17 hours ago
|
Массовое добавление задач: форма не закрывается, проект из контекста (ТЗ 0.39)
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
17 hours ago
|
Экран входа в стиле navi: подпись под лого, кнопка «Войти через GNEXUS»
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
17 hours ago
|