Andrey Epifancev
eb5e40e9ef
perf: README — порядок разбора и отчёта, web-sourcemap, hotspots
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:08:12 +04:00
Andrey Epifancev
af0975100b
perf: отчёт о проблемах производительности
...
perf/REPORT.md: резюме и ответы на жалобы заказчика, методика и окружение,
таблица 13 мест (file:line, доказательство, влияние, приоритет, подтверждено
замером), подробности, статический разбор без замера, что не проверено.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:08:12 +04:00
Andrey Epifancev
9923a7b88d
perf: контроль CPU 4x, API против X-DB-Time-Ms, рендеры модалок
...
- report-data/20261026-control-s1: CPU 4x, 1 повтор (FORM_2/AHR, свод 1 MAIN,
свод 2 GO, модалка выбора ВСП на большом листе), отдельный run_id
- analysis/api-split: полное время API против заголовка X-DB-Time-Ms
(вместо py-spy, которому на macOS нужен root)
- analysis/modal-renders, hotspots: рендеры модалок прогона s1, циклы CSS и
matchMedia со вторым листом
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:08:12 +04:00
Andrey Epifancev
8e9f53a478
perf: скрипты разбора и сводные данные прогонов 20261026
...
- perf/analysis: разбор trace (timeline_breakdown), CPU-профилей с source maps
(cpuprofile_top), heap snapshots (heapdiff), циклов памяти, сравнения масштабов,
ручной EXPLAIN вложенных запросов (explain_manual), API против X-DB-Time-Ms
(api_split), сводка горячих точек; тесты ядра в perf/tests/test_analysis.py
- perf/e2e/scenarios/hotspots.spec.ts: CPU-профиль, рендеры React, мутации DOM
после фильтра, рост CSS-правил по циклам (вне run-all)
- prod-сборка с source maps: PERF_SOURCEMAP=1, perf/stand.sh web-sourcemap (:8082)
- perf/report-data/20261026-s1, 20261026-s2 (summary, sql, analysis, explain-manual),
t5-types (иллюстрация CPU 6x)
- design.md: решения T10b без обсуждения
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:43:46 +04:00
Andrey Epifancev
0c2048a9f1
docs(openspec): рулинги R-5 и R-6 перед анализом
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 11:49:13 +04:00
Andrey Epifancev
05d1586006
perf: исправления run-all по ревью (раунд 1)
...
- C1: trace только на повторе 0 при числе повторов > 1 (lib/trace.ts
shouldTrace) в scroll и scroll-coauthor: admin-контроль, control4x и
PERF_S2_REPEATS=1 больше не теряют единственную запись (traced=1).
- I1: масштаб 2 - PERF_LOAD_TIMEOUT_MS=40 мин и PERF_TEST_TIMEOUT_MS=90 мин,
если не заданы.
- I2: шаг aggregate падает при сбое perfkit.aggregate/копирования и если
summary.json не создан; тесты run-all (perf/tests/test_run_all.py).
- M2: после modals_profiling останавливается preview :8081.
- README, design.md: решения раунда.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 03:12:40 +04:00
Andrey Epifancev
ab3d9e89a3
docs(openspec): рулинг R-4 о повторах на масштабе 2
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 03:02:17 +04:00
Andrey Epifancev
29867535b0
perf: полный прогон run-all.sh и правки по ревью
...
- perf/run-all.sh: масштабы 1 и 2, шаги reset -> gen -> verify -> stand ->
preflight -> scroll -> coauthor -> grow -> modals -> modals_profiling ->
memory -> memtrend -> [control4x] -> bench -> aggregate; лог и
run-all.status.json, возобновление (PERF_STEPS, PERF_SKIP_RESET),
сухой режим с оценкой длительности, PERF_S2_REPEATS/PERF_S2_TARGETS,
контроль CPU 4x (PERF_CONTROL_TARGETS).
- Основная метрика: main_thread_ms и main_thread_ms_per_step в скролле
(CDP TaskDuration), frame_excess_ms; в summary.md первыми строками.
- SQL-статистика по шагам: PERF_SQLSTATS_TAG -> sql/<шаг>/ (sqlstats --out).
- netlog: тела /auth/ не пишутся, поля password/token/secret вырезаются.
- scroll.spec: уникальные имена целей (лист ССП с суффиксом /ssp, год в
отчёте проекта) - иначе Playwright не запускал файл из-за дублей.
- PERF_TRACE=0 для прогонов с одним повтором.
- README: scroll-coauthor, run-all, возобновление, без CPU 4/6 в матрицах.
- design.md: уточнена формулировка R-2, решения Task 10a.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 03:01:33 +04:00
Andrey Epifancev
d58fc3de29
docs(openspec): рулинг R-3 по исполнению Task 10
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 02:38:53 +04:00
Andrey Epifancev
fdc8ecb2a3
perf: замеры бэка
...
Сетевой лог сценариев, bench запросов, pg_stat_statements и EXPLAIN,
aggregate исключает трассировочные повторы (O-9).
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 02:36:46 +04:00
Andrey Epifancev
4a539d803f
perf: memtrend считает с цикла 1, плато по второй половине
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 02:19:55 +04:00
Andrey Epifancev
fa5dff8c6a
perf: сценарий памяти
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 02:17:23 +04:00
Andrey Epifancev
6a2439239d
perf: модалки на малом и выращенном листе (grow)
...
perfkit.gen.grow доращивает FORM_2 AHR_UTILITY/AHR_SECURITY до 500 и
FORM_4 CAP до 300 строк; у форм-модалок варианты @big.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:04:06 +04:00
Andrey Epifancev
627ea82321
perf: замеры открытия модалок
...
Перечень модалок (modals.json), measureOpen с main_thread_ms, профиль
перерисовок React (reactProfile), сценарий modals.spec.ts, подкоманда
stand.sh web-profiling (:8081), генератор modals-inventory.md.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 00:53:55 +04:00
Andrey Epifancev
a24326d367
docs(openspec): решения человека по метрикам и контрольному прогону 4x
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:23:01 +04:00
Andrey Epifancev
4836580c50
perf: замеры без троттлинга CPU (решение человека)
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:20:48 +04:00
Andrey Epifancev
419a20e950
perf: бот-соавтор и скролл при соавторе
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:20:48 +04:00
Andrey Epifancev
a1251436c3
perf: исправления сценариев скролла (ревью, раунд 1)
...
no_overflow вместо пустого complete, узкий catch по строкам, таймаут свода 2,
подписка на мутации до ввода фильтра и проверка эффекта фильтра, traced=1.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:03:28 +04:00
Andrey Epifancev
bd4d42bffb
perf: сценарии скролла
...
Библиотека scroll.ts (scrollThrough) с тестами на фикстурах, сценарий
scroll.spec.ts: листы форм, отчёты проектов, своды 1/2, projects/summaries,
admin-контроль, смена фильтра свода. Параметры PERF_TARGETS/CPU_RATES/REPEATS/ROLES/AXES.
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:58:44 +04:00
Andrey Epifancev
efa537e008
perf: каркас замеров фронта
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:12:36 +04:00
Andrey Epifancev
fb80d8c636
perf: генератор данных через API
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:08:30 +04:00
Andrey Epifancev
0b389ee7e4
perf: формат манифеста и результатов, агрегатор
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:08:45 +04:00
Andrey Epifancev
63f464dfae
perf: стенд для профилирования (postgres, api, prod-сборка фронта)
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:06:41 +04:00
Andrey Epifancev
b4b2d1bc8b
docs(plan): план профилирования
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:00:04 +04:00
Andrey Epifancev
337852c435
docs(openspec): дизайн профилирования фронта и бэка
...
Refs #202
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:52:22 +04:00
4f3e7e64b3
Merge pull request 'Подключить обвязку Claude: bootstrap + описание проекта ( #198 )' ( #200 ) from feat/198-harness-adopt into test
2026-10-25 19:35:45 +03:00
Andrey Epifancev
5190e5ef13
docs: описать проект в CLAUDE.md и ARCHITECTURE.md
...
Домен, стек, слои, команды, тесты, базовая ветка test.
.claude/code-paths: api/src/, api/alembic/, web/src/.
Refs #198
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:24:22 +04:00
Andrey Epifancev
cf85326558
fix(gitignore): отделить .superpowers/ от .cursorignore
...
Bootstrap дописал строку обвязки к последней строке без перевода строки.
Refs #198
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:16:43 +04:00
Andrey Epifancev
86b9d85b8e
chore: claude harness bootstrap
2026-10-25 20:16:36 +04:00
744c8962cd
Merge pull request 'svod2-filter-fix2: если заполнен только всп не берем в свод 2' ( #197 ) from svod2-filter-fix2 into test
...
Reviewed-on: #197
2026-10-21 17:33:12 +03:00
8d6e7ba51b
svod2-filter-fix2: если заполнен только всп не берем в свод 2
2026-10-21 17:31:34 +03:00
18b834e1f8
Merge pull request 'indent-export: отсупы в экспорте по глубине вложенности' ( #196 ) from indent-export into test
...
Reviewed-on: #196
2026-10-21 15:48:42 +03:00
669e352980
indent-export: отсупы в экспорте по глубине вложенности
2026-10-21 15:46:08 +03:00
d5f59b8b96
Merge pull request 'svod2-filter-fix: строки совсем без значений не попадают в свод 2' ( #195 ) from svod2-filter-fix2 into test
...
Reviewed-on: #195
2026-10-21 15:41:19 +03:00
f92c0e8d32
svod2-filter-fix: строки совсем без значений не попадают в свод 2
2026-10-21 15:38:48 +03:00
f14ea0f189
Merge pull request 'export-hierarchy: иерархия expense-item при выгрузке' ( #194 ) from export-hierarchy into test
...
Reviewed-on: #194
2026-10-21 11:46:45 +03:00
1463b3ad8b
export-hierarchy: иерархия expense-item при выгрузке
2026-10-21 11:44:24 +03:00
01fc7d4a01
Merge pull request 'svod2-filter-fix: пофиксил фильтр по наличию записи в contract-detail в своде 2' ( #193 ) from svod2-filter-fix into test
...
Reviewed-on: #193
2026-10-21 11:37:09 +03:00
07cdcc6ed4
svod2-filter-fix: пофиксил фильтр по наличию записи в contract-detail в своде 2
2026-10-21 11:36:14 +03:00
0d8f3ade0d
Merge pull request 'изменение дублей accessorKey' ( #192 ) from fix-id-column into test
...
Reviewed-on: #192
2026-10-20 16:22:07 +03:00
PotapovaA
7174703149
изменение дублей accessorKey
2026-10-20 16:21:42 +03:00
879ceedf98
Merge pull request 'export-year-fix: пофиксил год в колонках при экспорте' ( #191 ) from export-year-fix into test
...
Reviewed-on: #191
2026-10-19 15:06:24 +03:00
088c72a03e
export-year-fix: пофиксил год в колонках при экспорте
2026-10-19 15:04:32 +03:00
cdbe8ad6da
Merge pull request 'правки' ( #190 ) from add-select-capacity into test
...
Reviewed-on: #190
2026-10-16 14:56:22 +03:00
PotapovaA
bce897f4ed
правки
2026-10-16 14:55:58 +03:00
cd6dd6573f
Merge pull request 'добавление селекта для изменения разрядности в твблицах' ( #189 ) from add-select-capacity into test
...
Reviewed-on: #189
2026-10-16 14:41:42 +03:00
PotapovaA
6c3cd5b2e0
добавление селекта для изменения разрядности в твблицах
2026-10-16 14:41:19 +03:00
4e002150d3
Merge pull request 'удаление старых функций в бд (добавление и обновление всп)' ( #188 ) from del-old-func into test
...
Reviewed-on: #188
2026-10-13 16:08:39 +03:00
PotapovaA
f152430805
удаление старых функций в бд (добавление и обновление всп)
2026-10-13 16:07:12 +03:00
7aa87608ea
Merge pull request 'add-svod-projects' ( #187 ) from add-svod-projects into test
...
Reviewed-on: #187
2026-10-01 18:27:03 +03:00