[2026-10-15] eagle: work/projects/cpm-status-2026-10-15.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-15 22:20:40 +06:00
1 parent 3f6533a94b
commit 9cb5f8e6af
1 file changed
+21 -1
+21 -1
View File
@@ -1,5 +1,5 @@
---
title: CPM Web Extension — единый статус (PR, данные, гипотезы, телеметрия)
title: 'CPM Web Extension — единый статус (PR, данные, гипотезы, телеметрия)'
date: '2026-10-15'
tags:
- work
@@ -163,3 +163,23 @@ multiIf(
'7_other')
-- параметры: network_restarted, context_errors, bg_view_creations, tab_has_ext_scripts, bg_events (decodeURLComponent)
```
## 10. Журнал воспроизведения P5/P6 — 15 октября 2026
Работа начата по запросу: добавить тесты новых гипотез и попытаться воспроизвести наблюдаемые цепочки. Продакшен-фиксы и публичные PR этим запросом не меняются.
**Выбор worktree:** `/Users/admin/DuckDuckGo/apple-browsers.git/alex/cpm-web-extension-remaining-failures`, ветка `alex/cpm-web-extension-remaining-failures`, HEAD `a0717cf098cd1cbd32d5bc9d19aa7db0fab2399f`. Здесь общий harness, production recorder, локальные эксперименты пробуждения, error 6 и очистки baseURL (P1–P3), без watchdog/фиксов A/B. Полного единого набора всех сценариев сейчас нет: базовые A/B находятся в `cpm-repro-harness`/фикс-ветках, init-progress E2E — в `cpm-e2e-init`. Существующие dirty-изменения сохранены; добавления этой работы ограничиваются тестовым harness.
**Среда:** macOS 26.7.1 (25G241), Xcode 27.1 (27A9275), системный WebKit. Прогон на macOS проверяет механизм; перенос на iOS требует отдельной проверки.
**Уточнение данных перед тестами:** read-only перепроверка ClickHouse за 14 октября, `stuck.daily`, iOS 7.240+/macOS 1.210+:
- P5: в выборке хвоста `proxy_on>dealloc>view>proxy_on>dealloc` без error 6/Network replacement/scripts=false — 1953 iOS и 499 macOS, `bg_view_alive=false` во всех снимках; последняя `view` везде старше 30 с. Это определение чуть шире строки P5 выше, поэтому 499 не подменяет прежние 494 без сверки дополнительных фильтров. На macOS 68 снимков с `tab_in_context=false`; на iOS у 1299 не разрешилась вкладка для табличных диагностических полей.
- P6: `load>view>proxy_on>dealloc` — 627 macOS; `load>view>proxy_on` — 235. В обеих подгруппах `context_loaded=true`, `tab_in_context=true`, `tab_controller_match=false`, `tab_has_ext_scripts=false`. В первых двух минутах запуска — 468/627 и 234/235. **235 — это хвост без dealloc, а не маркер extension_updated**; варианты с extension_updated существуют отдельно.
**Проверяемые гипотезы:**
1. P5: потеря регистрации вкладки или runtime listener приводит к отсутствию пробуждения после штатного idle; сравнить content-script send/error, background receive, текущую view и параметры failure-пикселя.
2. P5: долгий документ/пауза приложения позволяют background выгрузиться до диагностического снимка; отличить запоздалый снимок от неработающего worker.
3. P6: вкладка создана без CPM controller, затем попала в openTabs при загрузке контекста.
4. P6: существующая вкладка сохранила controller предыдущего менеджера; новый контекст видит вкладку через openTabs, но не внедряет в неё скрипты.
**Текущий статус:** читаю точки расширения harness; тесты и результаты ещё не получены. Контролируемая инъекция состояния будет явно отделена от естественного воспроизведения.