AURORA-1843: свод 2 — сценарии и скрипты замера страниц (3/3, стенд) #245
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/236-aurora-1843-svod2-server-paging-perf"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #236 (часть 3/3). Jira AURORA-1843 (эпик AURORA-1834). Стек: PR 1 (#241) → PR 2 (#243) → этот PR. Spec:
openspec/changes/aurora-1843-svod2-server-paging/.Что сделано (фаза 3 — стенд замеров; код стенда, сам стенд исполнителями не запускался)
perf/analysis/svod2_search_oracle.mjs --checkиperf/analysis/svod2_paging_check.py: сверка страниц, поиска, фильтров, вариантов и компактной проекции с прежним полным ответом / экраном «до» на данных стенда.perf/e2e/scenarios/scroll.spec.ts(только веткиsvod2):first_rows_ms,json_bytes_sheet(прежний смысл),json_bytes_total,json_bytes_first,placeholder_frame_share,pages_requested,filter_result_ms; код работает и на сборке «до». Чистые помощники —perf/e2e/lib/svod2.ts.perf/e2e/scenarios/svod2-memory.spec.ts: память GO «все» → RF «все» → GO.api_split.py,explain_manual.py,scale_compare.pyдля страниц и вариантов свода 2;perf/README.md— раздел «Свод 2 после AURORA-1843» (порядок до/после, команды).Тесты
node --test perf/analysis/svod2_search_oracle.test.mjs13/13;node --test perf/e2e/tests/svod2-metrics.test.ts10/10; pytestperf/tests(paging_check, svod2_analysis, analysis) 8/8;matchesSearch/equalsв оракуле — дословные копии (MATCHES_OK, EQUALS_OK).npx playwright test --list, прогоны на стенде.Команды замера
См.
perf/README.md, раздел «Свод 2 после AURORA-1843» (порядок: «до» во временном worktree 1842 с подменойperf/из этой ветки; перед «после» —svod2_paging_check.pyиsvod2_search_oracle.mjs --check).Замер до/после — добавит контроллер после прогона на стенде.
Rulings I made
legacy_fullживёт вapi/tests/integration/conftest.py(не в test_svod2_paging_api.py); Task 3 создаёт его там, Task 4 импортирует оттуда — иначе test_svod2_sql.py импортировал бы из тестового модуля. Цена ошибки: перенос функции.playwright --list/типы perf/e2e и замеры — главный контроллер, одним списком в финальном отчёте, не жду. Цена ошибки: нет.Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>— как требуют план (Global Constraints) и WAVE2-RULES (явное указание человека приоритетнее общей подсказки). Цена ошибки: amend/rebase трейлера.Находки (маркер, суть, статус)
;— точка с запятой в тексте засева сломает скриптb134cfdSonnet 5.5 вместо Opus 5.5 (T1,T2 — Opus)e81df1de81df1de81df1d,f5bccc5782a043(= M-5)782a043(= M-2)782a043782a043782a043325c1c5325c1c5(тест + комментарий; реализация в Task 12)d74f528d74f528d74f528(R-9; проверить измерение на стенде)d74f528(чистая shouldRefine)fbc3601(= I-2)fbc3601(максимум по отрисованным строкам, M-7); проверка на стендеfbc3601fbc3601fbc3601fbc3601(остаточно: значение не монотонно, не сбрасывается при смене условий)fbc36015dc66625dc66629272ea29272ea2(README, M-13)4e5ba534e5ba53(settle)9272ea29272ea2558ad81Haiku 5.5 вместо Opus 5.5 (см. O-3)9272ea29272ea2,0f7c6c50f7c6c50f7c6c5(raf-наблюдатель)9272ea29272ea2🤖 Generated with Claude Code
Ночной замер — часть 2 (итог)
Сборки: «до» — вершина 1842
399234aсperf/из этой ветки (git checkout … -- perf/, без коммита), «после» —3e9979d. Масштаб 1 (D0) и 2 (D2). Прогон поperf/README.md«Свод 2 после AURORA-1843» и списку «Проверки для главного контроллера».Проверки инструмента
PERF_SQLSTATS=0 npx playwright test --listtsc(perf/e2e)lib/manifest.ts(32,51): TS2783 'owner' is specified more than once, so this usage will be overwritten. Строка 32 ({ owner: 'rf', ...s }) идентична вorigin/test, 1842 (399234a) и этой ветке (3e9979d); файл не менялся ни в 1842, ни в 1843: ошибка пришла из PR «каркас замеров фронта» (#203), не из 1843. На вершине 1842tscотдельно не запускался — вывод по тексту исходниковsvod2_paging_check.py, масштаб 1 / масштаб 2svod2_search_oracle.mjs --check, масштаб 1 / 2Что в прогоне вышло с rc≠0 и почему
api_split.pyиз этой ветки запрашивает/svod/2/GO/2026/facets, на сервере 1842 его нет —HTTP 404. Переснято инструментом 1842 (perf/без правок PR 3):rc=0(04:11), «до» в #241 взято оттуда. Аналогично «before explain rc=1» (нет функцииv_svod2_goс новой сигнатурой) → переснято 04:11.--grep filter): «filter did not stabilize in 120s» и на «до», и на «после» (logs/1843-{before,after}-filter.log), метрик нет; RF-фильтр отработал: 432 → 857 мс.before/after): клики по select-фильтрам — тайм-аут 30 с (локатор) → вbefore2/after2исправлено и повторено.Цели design (масштаб 1)
finalgen/verify,api_split,paging_check, oracle, время поиска; фаза 5 закончилась в 05:37)./private/tmp/claude-501/-Users-andrey-epifancev-projects-fomichev-claude/6fa9c75e-eb11-4e5d-98c1-05eb590ab14f/scratchpad/night/1843/(pw-list.txt, tsc.txt, bytes-compare.txt, split-*),logs/1843-*.log.Перенос на test
616f8cf(merge). Конфликт perf/analysis/api_split.py: взят measure() из test (wire_bytes), в него перенесена обработка нечислового result (facets). svod2_paging_check.py теперь убирает null-поля перед сверкой склейки view=full с прежним ответом (после AURORA-1848 тот отдаёт data без null). Коммитd7aba96. Полный pytest вершины: 842 passed, множество падений = baseline test (18 известных) плюс openapi-тест, исправленный позже; perf/tests 5 passed; node svod2_search_oracle.test.mjs 13 pass. Проверку svod2_paging_check/CHECK_OK на стенде не запускал (нужен perf-стенд с манифестом).Merge origin/test
f6b95d7и правок #241 (R-30, O-1). Вершина цепочки667cfd8: полный pytest 18 failed / 850 passed, набор падений идентичен baseline f6b95d7; web node --test 211 pass / 1 fail (известный SMETA.test.js), rsbuild build ок; стенд: svod2_paging_check CHECK_OK, svod2_search_oracle --check CHECK_OK.