Andrey Epifancev
16835abbf8
fix(web): выделение текста, отпущенное за краем окна, не закрывает карточку (I-2); спека: перезагрузка сохраняет страницу под окном (I-1) ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:17:33 +04:00
Andrey Epifancev
901a2c1cb7
docs(openspec): R-7 в proposal, требовании «Служебные заметки» и design 15 — доска не показывает заметку ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:03:36 +04:00
Andrey Epifancev
9655ca4847
Правки minor-находок ревью Task 6 (T6.1-T6.4)
...
- T6.1: e2e «описание свёрнуто» проверяет scrollHeight > clientHeight и рост высоты pre после «развернуть»
- T6.2: e2e заметки из окна сверяет scrollY после закрытия окна с исходным
- T6.3: тест переименован, добавлен маркер на DOM-узле карточки (узел не пересоздан)
- T6.4: исправлен разорванный абзац в ARCHITECTURE.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:29:57 +04:00
Andrey Epifancev
62f6d8a11f
Волна minor-находок карточки: tsbuildinfo, depth, closingDirect, имя окна, key связей
...
- T3.3/T4.6/O-2: *.tsbuildinfo в .gitignore
- T3.4: cardState принимает depth только целым неотрицательным, иначе 0
- T4.1: отказ от закрытия («Остаться») сбрасывает closingDirect через CloseAbortContext
- T4.4: у <dialog> запасное имя aria-label = ключ задачи (загрузка, 404, ошибка)
- T5.1: проверка закрытия формы заметки в тесте T14.1
- T5.3: уникальный key строки связи (индекс + ключ + тег)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:28:34 +04:00
Andrey Epifancev
fd63335e5b
docs(openspec): R-7 — сценарий «заметка видна на доске» по фактическому поведению доски ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:26:08 +04:00
Andrey Epifancev
e475a8afc1
test(web): e2e окна карточки, тестовый хаб с комментариями и командами; README ( #37 )
...
Раскладка карточки: в одну колонку (уже 900 px) колонки растягиваются на всю
ширину (align-items: stretch), порог — 899.98px.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:25:44 +04:00
Andrey Epifancev
102cef4125
feat(web): раскладка карточки — шапка состояния, связи по смыслу, комментарии, заметки в режиме чтения ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:14:39 +04:00
Andrey Epifancev
87db9720f9
docs(openspec): рулинг R-6 по адаптации тестов Task 4 ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:11:11 +04:00
Andrey Epifancev
10285371b2
feat(web): карточка задачи окном поверх списка и доски ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:09:20 +04:00
Andrey Epifancev
092e7b32ed
feat(web): данные карточки — комментарии, группы связей, просрочка, состояние окна ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:06:49 +04:00
Andrey Epifancev
a03550f079
feat(hub): проверка комментариев в POST /agent/state (422 bad_state), комментарии в MCP issue ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:04:55 +04:00
Andrey Epifancev
88a6f72b13
feat(hub): комментарии задач в зеркале, схема v3; темы и статусы связанных в карточке ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:00:53 +04:00
Andrey Epifancev
9484d10d0b
docs: план issue-card-modal ( #37 ); уточнения design 5, 10–13, 25
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:52:09 +04:00
Andrey Epifancev
590e15e0e0
docs(openspec): change issue-card-modal — карточка задачи окном, комментарии из Jira ( #37 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:18:35 +04:00
13e6c167a4
Merge pull request 'docs(openspec): архив hub-hygiene-d ( #32 )' ( #38 ) from chore/32-archive-hub-hygiene-d into main
2026-10-15 10:04:51 +03:00
Andrey Epifancev
6a9f793748
docs(openspec): архив hub-hygiene-d ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 11:04:39 +04:00
cbc86becca
Merge pull request 'Пакет D хаба ( #32 )' ( #36 ) from feat/32-hub-hygiene into main
2026-10-15 10:04:23 +03:00
Andrey Epifancev
0cf71e7792
Merge branch 'main' into feat/32-hub-hygiene
...
Конфликт pyproject.toml: оставлены обе секции — filterwarnings (hub-hygiene-d, решение 14)
и [tool.uv] python-preference (#29 ). Рулинги R-14 (переписан), R-15, R-16 в design.md.
318 passed, 0 warnings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 11:01:16 +04:00
Andrey Epifancev
bc377eda2c
docs: финальное ревью — M-2, M-3, M-4/T2.5, M-5, R-13, R-14 ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:56:51 +04:00
Andrey Epifancev
7d3f648d2c
fix: финальное ревью — M-1/T3.1 атомарная подмена agent_update, T1.1/T1.2 open_db, T2.3, T4.1 ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:56:51 +04:00
Andrey Epifancev
1f1dad6911
test: bool и [] в параметрах, журнал при пределе выдач, 501, эпик без ключа, «подготовлена заново», предупреждение и офлайн агента, тик (T3.2, T5.2, M-8, minor-3 #16 ; M-10 #4 ) ( #32 )
...
Решение 13: тесты фиксируют уже верное поведение; каждый проверен мутацией.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:46:13 +04:00
Andrey Epifancev
e180bb4e5f
fix: ответ PUT /settings, «создание задачи отменено», CRLF в подтверждении, реле по resolve() (O-11, O-10, O-9, minor-1, T3.1 #16 ) ( #32 )
...
PUT /settings отвечает всеми настройками (R-3); пропуск при cancelled-создателе — «создание задачи new:N отменено» (R-4); ensure_fields сравнивает строки без различия CRLF/LF; _cleaned по resolve(); _type_error по веткам (решения 9–12, 15).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:42:03 +04:00
Andrey Epifancev
8a319ea595
fix(agent): agent_reported — до первого claim запускатель неизвестен, подсказки «без run.py» нет (M-2 #25 ) ( #32 )
...
GET /agent отдаёт agent_reported; release.hint(reported=); MCP agent_status: «запускатель: неизвестно (агент ещё не выходил на связь после перезапуска хаба)» (решения 7–8, R-1).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:36:19 +04:00
Andrey Epifancev
57934383e7
fix(release): сбой переименования agent.py не удаляет прежний agent.py (T2-I1) ( #32 )
...
Откат удаляет agent.py только при первой публикации; при сбое до переименования прежний файл не трогается. Тест: os.replace падает на agent.py.prev — release/ байт-в-байт прежний.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:33:54 +04:00
Andrey Epifancev
f977d9bd34
fix(release): публикация с fsync и откатом через agent.py.prev, проверка манифеста (M-1, M-3, M-5, M-6, M-7 #25 ) ( #32 )
...
Сбой записи — «не удалось записать публикацию: …», код 1, прежняя версия остаётся; манифест годен при целой version ≥ 1 и sha256 из 64 hex; предупреждение о негодном — одно на ошибку; не-UTF-8 agent.py — 404 (решения 1–6).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:31:22 +04:00
Andrey Epifancev
ea37d54946
test: соединения SQLite в тестах закрываются, утечка — ошибка набора (M-9/O-4 #4 ) ( #32 )
...
Фикстура open_db в tests/conftest.py, фикстуры conn вместо хелперов fresh()/_mirror(); filterwarnings: error::ResourceWarning и error::pytest.PytestUnraisableExceptionWarning (решение 14, R-5).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:26:38 +04:00
Andrey Epifancev
be50525ed6
docs(openspec): hub-hygiene-d — рулинги R-6…R-13, уточнения Context и решений 11, 13 ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:23:58 +04:00
55886bd258
Merge pull request 'docs(openspec): архив web-app-followups ( #29 )' ( #34 ) from chore/29-archive-web-app-followups into main
2026-10-15 09:23:03 +03:00
Andrey Epifancev
a8f20b232e
docs(openspec): архив web-app-followups ( #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:22:44 +04:00
835199d3ac
Merge pull request 'web-app-followups: 46 отложенных пунктов веб-приложения ( #29 )' ( #33 ) from feat/29-web-app-followups into main
2026-10-15 09:22:25 +03:00
Andrey Epifancev
447d878e0e
fix(hub): Python от uv вместо miniconda — SQLite 3.51.1 вешал хаб взаимной блокировкой (O-14, R-11, #29 )
...
Стеки зависшего тестового хаба: потоки запросов ждут мьютексы unix-VFS SQLite в sqlite3.connect
(findReusableFd) и close (sqlite3WalClose -> unixLock). Ошибка SQLite 3.51.0–3.51.1, исправлена в 3.51.2.
.python-version = 3.13 и tool.uv.python-preference = only-managed: uv берёт свой CPython 3.13.12 (SQLite 3.50.4)
и сам пересоздаёт .venv. Тест не даёт вернуться на SQLite 3.51.0–3.51.1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 03:29:23 +04:00
Andrey Epifancev
009fc30dd1
Merge origin/main (архив agent-v9-hardening #26 ) в feat/29-web-app-followups
...
Конфликт CLAUDE.md: оставлена строка ветки без пути к конкретному change (M-1).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 03:17:45 +04:00
Andrey Epifancev
bb3ddd1770
fix: волна по финальному ревью — I-2 fromFile при обновлении из файла, тесты, комментарии, спека ( #29 )
...
I-2, M-4..M-8, M-11, M-13, M-16, M-18, T7.3, M-1..M-3, M-17.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:40:33 +04:00
Andrey Epifancev
d377a57b53
docs(openspec): R-10 — прокрутка доски при реальном клике ( #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:04:31 +04:00
Andrey Epifancev
aa1cca877d
docs(plan): hub-hygiene-d — план ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:04:05 +04:00
Andrey Epifancev
d54596776e
fix(web): запоздавшее scroll после ухода с доски не затирает запомненную прокрутку; e2e M-3 на реальном щелчке (M-3, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:03:25 +04:00
Andrey Epifancev
8d31fdf111
docs: web-app-followups — CLAUDE.md, README ( #29 )
...
CLAUDE.md: текущий change — openspec/changes/web-app-followups/.
README: шрифты IBM Plex входят в сборку, приложение работает без интернета.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:58:09 +04:00
Andrey Epifancev
4c95f340ab
docs(openspec): R-9 — проверка высот карточек в e2e geometry ( #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:52:28 +04:00
Andrey Epifancev
4160dd8b47
build(web): шрифты в сборке, source-map-js 1.2.2, порт e2e одной константой, тесты оболочки и геометрии (T2.2, O-1, T4.1–T4.5, T15.1, T15.2, T15.4, T15.6, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:51:54 +04:00
Andrey Epifancev
0bb43431b8
docs(openspec): hub-hygiene-d — публикация, статус агента, CRLF, тесты ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:33:07 +04:00
Andrey Epifancev
dd95e85a25
test(web): сценарий saved-short для обрезки заголовков, canon без локали, тесты хранилища и util (T2.1, T5.1, T6.3, T7.1, T9.1, T9.3, T9.4, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:29:09 +04:00
Andrey Epifancev
a002812f12
fix(web): ссылка в ветке «задачи нет в зеркале» в .issue, тесты класса и подписи фильтра, withCurrent выше комментария (#29/O-10, T5.1, T5.4, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:25:10 +04:00
Andrey Epifancev
6940da5a20
fix(web): фильтр из адреса вне вариантов, ссылки цветом темы, «команд по задаче не было», тесты без пауз (T13.1, O-10, O-11, T14.2, T14.3, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:21:50 +04:00
Andrey Epifancev
091acda286
style(tests): опечатка форматирования req = в test_bad_requests (T1.1, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:21:50 +04:00
Andrey Epifancev
960a71d62c
feat(web): прокрутка доски после возврата, memo карточек, обработчики без побочных действий в updater (M-3, T11.1–T11.4, T12.1–T12.4, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:17:43 +04:00
Andrey Epifancev
841ce4ea45
fix(web): строка пакета переживает «Перечитать», снимок из файла при недоступном хабе, подхват только refresh (T10.1, T10.3–T10.6, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:13:44 +04:00
Andrey Epifancev
ab3b05007a
fix(web): запоздавший 401 прежнего токена не выбрасывает на вход, 4xx на входе — текст хаба (T3.2–T3.6, #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:08:48 +04:00
Andrey Epifancev
3dc54c7bb1
docs(openspec): R-8 — трейлер коммита Task 1 ( #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:05:39 +04:00
Andrey Epifancev
2024a66a6d
fix(hub): нулевой байт в пути /app/assets — 404; тесты типов файлов сборки (T1.1, T1.4, T16.1, #29 )
...
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-15 01:04:21 +04:00
Andrey Epifancev
f79494d5c6
docs(plan): web-app-followups — 8 задач; спека: сценарий T10.4, решение 12 ( #29 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:55:25 +04:00