119 Commits

Author SHA1 Message Date
Andrey Epifancev
28131a7d56 test(web): тестовый хаб и e2e — вход, доска, задачи, сверка со старой страницей (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:39:44 +04:00
Andrey Epifancev
d6fe046efa fix(web): захват указателя на нажатом элементе — двойной щелчок по уголку возвращает размер (#21)
В Chromium dblclick после setPointerCapture на карточке уходил на карточку, а не на .rsz;
то же поведение у links.html.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:39:44 +04:00
Andrey Epifancev
9fcc041d87 feat(web): карточка задачи — поля, связи, команды, правка служебных заметок (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:21:54 +04:00
Andrey Epifancev
d8e3e8656a feat(web): список задач зеркала — фильтры в адресе, порции по 50, поиск (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:18:02 +04:00
Andrey Epifancev
178606f221 docs(openspec): web-app — рулинг R-17 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:15:43 +04:00
Andrey Epifancev
66bcb7e293 feat(web): страница доски — панель, фильтры, легенда, проблемы, таблица, экспорт (#21)
Заглушка модели в useBoardSource стабильна между рендерами, readTheme не возвращает null.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:14:13 +04:00
Andrey Epifancev
2227b8885a docs(openspec): web-app — рулинги R-15, R-16 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:10:20 +04:00
Andrey Epifancev
089c4fb78d Холст доски: высота слоя измерения, сужение выборки, ширина полосы дат (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:09:47 +04:00
Andrey Epifancev
86f5ccc981 feat(web): холст доски — дорожки, карточки, стрелки, перетаскивание, колонки дат (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:55:12 +04:00
Andrey Epifancev
3c2c75e8fe feat(web): источник данных доски и «Обновить из Jira» — закрывает M-1…M-5 #20 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:41:58 +04:00
Andrey Epifancev
5f012db829 feat(web): хранилище настроек доски с прежними ключами, импорт и экспорт JSON (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:28:20 +04:00
Andrey Epifancev
b421687188 docs(openspec): web-app — рулинг R-14 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:24:42 +04:00
Andrey Epifancev
232c290f9b feat(web): раскладка доски, стрелки и примагничивание — без DOM (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:15:08 +04:00
Andrey Epifancev
7065cbeaef feat(web): выборка доски, критический путь, проблемы, счётчики фильтров (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:02:31 +04:00
Andrey Epifancev
251b950b57 docs(openspec): web-app — рулинг R-13 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:00:09 +04:00
Andrey Epifancev
78bf2353d6 feat(web): модель доски — разбор снимка хаба, CSV и JSON, словари из настроек (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:49:17 +04:00
Andrey Epifancev
825361ef3e docs(openspec): web-app — R-12 пересмотрен основной сессией (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:37:25 +04:00
Andrey Epifancev
7eac72e86f test(web): golden-эталоны доски из links.html@3931a88 на синтетических фикстурах (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:33:12 +04:00
Andrey Epifancev
7c161a675e docs(openspec): web-app — рулинги исполнения (#21)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 20:15:39 +04:00
Andrey Epifancev
6dc0543a50 feat(web): оболочка приложения — маршруты /app, разделы, ошибки страниц, тема (#21)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-14 20:14:27 +04:00
Andrey Epifancev
c124e082ae fix(web): токен с недопустимыми символами — экран входа, а не «хаб не отвечает» (#21)
Сохранённый в localStorage токен с кириллицей, пробелом или переводом строки
давал TypeError у fetch, который превращался в HubDownError. Теперь call()
проверяет TOKEN_RE до запроса и бросает AuthError.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-14 20:12:35 +04:00
Andrey Epifancev
51c2772dcc feat(web): клиент API, токен и экран входа, хуки запросов (#21)
Типы ответов хаба, клиент с разбором ошибок (AuthError, HubDownError,
ApiError), хранилище токена с подпиской, экран входа с проверкой токена
до сохранения, QueryClient с выходом на экран входа при 401, хуки запросов.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-14 20:10:42 +04:00
Andrey Epifancev
bad6c73371 chore(web): каркас веб-приложения — Vite, TypeScript, ESLint, Vitest, make web/check (#21)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 20:08:07 +04:00
Andrey Epifancev
bc610a7734 feat(api): раздача веб-приложения по /app… без токена, 503 без сборки; тест M-7 (#21)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-14 20:03:28 +04:00
Andrey Epifancev
0f2df4c929 docs: план web-app и решения этапа плана R-10, R-11 (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:49:48 +04:00
Andrey Epifancev
69a21d63b6 docs(openspec): change web-app — веб-приложение хаба на React (#21)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:18:05 +04:00
aep
3931a88ce8 Merge pull request 'docs(openspec): архив viewer-live (#17)' (#19) from chore/17-archive-viewer-live into main 2026-10-14 17:50:59 +03:00
Andrey Epifancev
e95d0e0ce5 docs(openspec): архив viewer-live (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:50:45 +04:00
aep
fdc07b42af Merge pull request 'Доска связей на живых данных хаба (viewer-live, #17)' (#18) from feat/17-viewer-live into main 2026-10-14 17:29:04 +03:00
Andrey Epifancev
26d43acac3 docs(openspec): viewer-live — решения исполнения R-14…R-20 (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:21:55 +04:00
Andrey Epifancev
c7d1aaae0a fix(web): связи из зеркала — только между ключами вида AURORA-1234 (I-1, #17)
Ключ из issue_link попадал в разметку карточки без проверки: строка зеркала с разметкой в target_key исполнялась на странице с токеном.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:21:36 +04:00
Andrey Epifancev
adab949783 docs: доска связей хаба — README, ARCHITECTURE, CLAUDE.md (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:13:20 +04:00
Andrey Epifancev
4f4fb500dd feat(web): «Обновить из Jira», перенос раскладки импортом JSON, смена токена (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:10:38 +04:00
Andrey Epifancev
e92e7711d6 feat(web): доска на данных хаба — вход по токену, GET /board, «Перечитать» (#17)
Встроенная выгрузка от 11.10.2026 удалена; CSV и JSON — загрузка файла.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:02:48 +04:00
Andrey Epifancev
9bfb8be549 feat(api): страница доски связей по GET / и /links без токена (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:56:17 +04:00
Andrey Epifancev
c35151b841 chore(web): страница «Спринт 2 линк» как есть — основа доски хаба (#17)
Копия admin/sprint-2-links.html от 11.10.2026 без правок, чтобы дальнейшие изменения читались диффом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:55:10 +04:00
Andrey Epifancev
fbd47873b7 feat(api): GET /board — снимок зеркала для доски связей (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:54:16 +04:00
Andrey Epifancev
cc7b83fbb8 docs: план viewer-live и решения этапа плана R-6…R-13 (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 17:50:03 +04:00
Andrey Epifancev
ad48db2929 docs(openspec): viewer-live — размер встроенной выгрузки (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:01:11 +04:00
Andrey Epifancev
a6a9e5d4d6 docs(openspec): change viewer-live — доска связей на живых данных хаба (#17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:00:57 +04:00
aep
fc732ebf91 Merge pull request 'docs(openspec): архив bridge-hygiene (#13)' (#15) from chore/13-archive-bridge-hygiene into main 2026-10-14 12:23:16 +03:00
Andrey Epifancev
30d904e1a8 docs(openspec): архив bridge-hygiene (#13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:22:53 +04:00
aep
01fd588a09 Merge pull request 'Пакет C: гигиена хаба моста (bridge-hygiene, #13)' (#14) from feat/13-bridge-hygiene into main 2026-10-14 12:22:13 +03:00
Andrey Epifancev
72b0914fce docs(openspec): уточнения спек agent и commands по финальным ревью; рулинги R-13, R-15 (#13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:14:36 +04:00
Andrey Epifancev
8e82b31d48 fix: правки по финальному ревью bridge-hygiene — права backups/, cwd, чистка work/ по папкам, отмена завершённого пакета (#13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:11:03 +04:00
Andrey Epifancev
4b76152959 docs(openspec): рулинг R-14 в design.md bridge-hygiene (#13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:02:07 +04:00
Andrey Epifancev
2429d08a63 docs: реле и relay_dir в ARCHITECTURE, права каталога, текущий change, .wt/ в .gitignore (#13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:59:32 +04:00
Andrey Epifancev
615530aa1b fix(relay): 502 на сбой протокола, work/ чистится один раз на папку, тест serve --host (#13)
M-1, M-3, M-4 (hub#8).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:54:45 +04:00
Andrey Epifancev
bd8c769e75 feat(queue,mcp): отмена пакета сообщает о команде у агента; подсказка про labels (#13)
cancel_batch возвращает still_claimed — команды пакета в статусе claimed,
которые отмена не останавливает. MCP batch_cancel выводит строку на каждую
такую команду с подсказкой про POST /commands/N/cancel с force. Описание
batch_create предупреждает, что ensure_issue нужны labels с базовой меткой
AWPCA, иначе задача выпадет из базовой JQL и из зеркала.

M-11 (hub#12), T3.7 (agent#4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:51:51 +04:00
Andrey Epifancev
19aa032a25 fix(queue): довыдача refresh не удваивает счётчики, предел выдач закрывает sync_run (#13)
M-4, M-5, M-10 (hub#12).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:46:29 +04:00