hermes-hub/agents/inbox/2026-08-31-A46-frontend-mockup-redo.md
Hermes Team 8b67f0dadb docs(agents): вернуть в репозиторий постановки A42-A56 и отчёт A30
Тринадцать файлов существовали только на диске ПК владельца, в рабочей
копии, отставшей от origin/main на 122 коммита. Их реализация и тесты
давно влиты: tests/test_a42_provider_connect.py,
test_a49_subagents_skills_memory.py, test_a51_hub_controls_hermes.py,
test_a52_local_models_supervisor_dual.py, test_a55_account_connection.py,
test_a56_context_compression.py и другие. Постановок, объясняющих, что
эти тесты обязаны доказывать, в репозитории не было.

Правило записано в agents/AGENTS.md: задание живёт в репозитории, а не в
переписке и не в личных папках на диске.

A48, A50 и A54 не переносятся: они уже есть на origin под другими именами,
содержимое совпадает с точностью до перевода строки в конце файла.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 18:16:35 +07:00

13 KiB
Raw Blame History

ОТМЕНЕНО 31.08.2026. Работа передана Codex заданием 2026-08-31-A48-codex-interface-by-mockup.md. Исполнитель сидит на сервере, где запущен хаб, и может сверять с макетом глазами. Antigravity за фронтенд не берётся: два агента в одних файлах уже приводили к переключению ветки под чужой работой.

Задание A46: вёрстка по макетам — возврат по A43

Дата поступления

2026-08-31

База

origin/main (81a58f6) — там уже лежит A43.

git fetch origin --prune
git checkout -b antigravity/a46-mockup-redo origin/main

В main напрямую не пушить.

Порядок исполнения

Два прохода: Flash реализует, Pro проводит аудит. Пункт P0-4 написан для аудитора.

Исполнитель работает на машине владельца, где хаб запущен и есть живой снапшот. Макеты — в Desktop/фронтенд/, файлы 1.1.png7.1.png и пояснения 1.txt, 3.txt.


Почему возврат

A43 закрыл холст и оставил вёрстку нетронутой. Владелец поставил сборку и написал: «интерфейс вообще не изменился, какой был, такой и остался. Зачем тогда было задание на изменение по макетам?»

Он прав. Вот что изменил A43:

app.js         +297   шесть карточек показателей, обвязка холста
workflow.js    +136   панорамирование, зум колесом
index.html       +8
workflow.css     15   потолок 430 px снят, слои холста
style.css        НЕ ОТКРЫВАЛСЯ НИ РАЗУ

style.css — это и есть внешний вид: сетка, отступы, типографика, карточки, палитра. Пункт P0-2 задания A43 требовал привести экраны к макетам именно по этим свойствам. Сделать это, не тронув файл со стилями, невозможно.

Скриншотов «до и после», которых требовал критерий приёмки 3, в ветке нет. Работа была принята по прохождению тестов, а тесты внешний вид не проверяют.

Холст переделывать не нужно. P0-1 выполнен: панорамирование, зум колесом, снятый потолок высоты — всё работает и остаётся.


P0-1. Расхождения с макетом 1.1.png

Сверено ревьюером: макет против живой сборки 81a58f6 на сервере владельца.

Шапка. В макете: поиск с подсказкой Ctrl + K, колокольчик со счётчиком, шестерёнка, карточка пользователя (инициалы, имя, команда). В сборке вместо этого две кнопки — «Обновить всё» и «Добавить аккаунт».

Логотип и подпись. В макете вензель, «HERMES HUB» и вторая строка «Крона • Бизнес-экосистема». В сборке — значок молнии и «Multi-Account Router».

Левое меню. В макете иной набор и оформление пунктов, внизу блок с эмблемой и текстом про единый визуальный язык. В сборке внизу — служебная строка про Live API и номер сборки.

Панель инструментов холста. В макете вертикальная панель слева внутри холста: курсор, добавить узел, связь, рамка, показать, удалить. В сборке отсутствует полностью.

Карточки узлов. В макете: иконка, имя, файл .md, строка «модель • аккаунт», статус точкой. В сборке: три строки текста, обрезанные многоточием, без модели и аккаунта.

Подписи связей. В макете подписи SUCCESS, REVIEW_PASSED, REVIEW_FAILED разнесены и подкрашены, возвраты идут красным пунктиром. В сборке подписи налезают на карточки узлов и режутся: владелец видит «ТАНОВКА ЗАД» и «РАЙПРИЁМКА».

Центрирование подписей ревьюер уже починил (text-anchor в workflow.css), и эта правка на месте. Режут их сами карточки узлов, которые рисуются поверх, и слишком узкий промежуток между узлами. Лечится порядком слоёв и расстоянием в раскладке, а не стилем текста.

Нижний ряд. В макете три карточки: «Последние события» с временем и цветными бейджами, «Статистика workflow» с кольцевой диаграммой, «Активные задачи». В сборке — «Последние события» и «Управление LIVE».

Инспектор. В макете это основная панель: вкладки «Основное», «Модель», «Инструкции», «Инструменты», «Память», «История»; поля статуса, текущей задачи, итерации, последнего запуска, времени выполнения, успешности; блок «Конфигурация исполнения» с провайдером, аккаунтом, моделью, температурой, лимитом токенов и таймаутом; блок «Agent File»; инструменты чипами; быстрые действия кнопками. В сборке — пустая заглушка «Выберите агента на графе».

Палитра и рамки. Тёмно-зелёный фон с золотыми акцентами и тонкими рамками. Это то, что задаётся в style.css.

P0-2. Что делать с элементами, которых нечем наполнить

Часть макета опирается на данные, которых в снапшоте может не быть.

  1. Ничего не выдумывать. Нет данных — Н с причиной, как принято в проекте. Нарисовать кольцевую диаграмму с числом «42» из макета — дефект, а не выполнение задания.
  2. Модель и аккаунт на карточке узла в снапшоте есть — брать оттуда, а не подписывать примерами из макета.
  3. Версию из макета не переносить. Там v2.9.0, в проекте 0.1.1, и она заморожена намеренно.
  4. Нижняя панель других приложений экосистемы (Planner, Journal, Finance и прочие) — этих приложений не существует. Не делать и назвать пропущенным в отчёте, а не рисовать неработающие кнопки.
  5. Всё остальное, что упирается в отсутствующие данные, — так же: реализовать оформление, показать пустое состояние честно, перечислить в отчёте.

P0-3. Скриншоты — это и есть сдача работы

Владелец сравнивает глазами. Отчёт без картинок принят не будет.

  1. Список расхождений по каждому экрану — до начала работы, приложить.
  2. Скриншот до и после по каждому экрану — обязательно. Это критерий, по которому A43 провалился.
  3. Рядом с каждой парой — фрагмент макета, к которому приводили.
  4. Пройти все макеты 1.17.1, а не только первый.
  5. Три темы — светлая, средняя, тёмная — проверить на каждом экране.

P0-4. Аудит вторым проходом

Проверяющему: в прошлый раз работа была принята без единого взгляда на экран.

  1. Открыть хаб и посмотреть. Не отчёт, не тесты — экран.
  2. Проверить, что style.css действительно изменён и изменения относятся к вёрстке, а не косметике в одну строку.
  3. Сверить скриншоты с макетами попарно.
  4. Убедиться, что выдуманных данных нет: ни одного числа из макета в живом интерфейсе.
  5. Холст не сломан: панорамирование, зум колесом, «вписать» работают как после A43.
  6. Подписи связей читаются на всех масштабах и не перекрываются карточками.
  7. Побочные изменения объяснить.
  8. Пропущенный пункт назвать пропущенным.

Ограничения

  • Без сборки, без npm, без фреймворка — решение зафиксировано в docs/web-api/CONTRACT.md §1.
  • Python не трогать.
  • Холст A43 не переделывать, только доводить.
  • Учётные данные и ~/.hermes/agy_profiles/ не трогать.
  • Версию 0.1.1 не поднимать.
  • Правило честности без исключений.

Критерии приёмки

  1. Ветка в origin, git status чист.
  2. style.css изменён; вёрстка экранов приведена к макетам.
  3. По каждому экрану приложены скриншоты до и после рядом с фрагментом макета.
  4. Пройдены все макеты 1.17.1.
  5. Инспектор агента реализован по макету; отсутствующие данные показаны как Н с причиной.
  6. Карточки узлов показывают модель и аккаунт из снапшота.
  7. Подписи связей не перекрываются карточками узлов; проверено на нескольких масштабах.
  8. Панель инструментов холста реализована либо названа пропущенной с причиной.
  9. Ни одного числа из макета в живом интерфейсе.
  10. Три темы работают на всех экранах.
  11. ruff check . чисто; релизный гейт не ухудшен.
  12. Отчёт: START_HEAD, FINAL_HEAD, origin/main, git status, X passed / Y skipped / Z failed. На origin/main сейчас 496 passed.

Главное

Владелец полдня ждал сборку, поставил её на две машины и увидел прежний интерфейс. Холст стал лучше, но он один экран из семи. Задание закрывает то, что в A43 просто не начинали: вёрстку по макетам. И сдаётся оно скриншотами, потому что проверить его иначе нельзя — тесты этого не видят, что и показал прошлый заход.

Порядок сдачи

Передать точный FINAL_COMMIT_SHA.