From f7e92791088498e87258f0a306f4515fd813ff7f Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 16 Oct 2026 21:53:49 +0600 Subject: [PATCH] [2026-10-16] eagle: work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md work/projects/cpm-status-2026-10-15.md work/projects/cpm-web-extension-code-guide-2026-10-09.md --- ...diness-telemetry-tech-design-2026-10-15.md | 17 +++++++++++++++++ work/projects/cpm-status-2026-10-15.md | 19 ++++++++++++++++++- ...cpm-web-extension-code-guide-2026-10-09.md | 19 ++++++++++++++++++- 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md b/work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md index 37be7973..68f3a680 100755 --- a/work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md +++ b/work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md @@ -295,3 +295,20 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa - Новые шесть disabled controls после branch-only split не повторялись: предыдущие **6/6 functional FAIL** на эквивалентном production/harness code остаются историческим evidence в `/private/tmp/cpm-pr7379-final-20261016/`. Нового stress/iOS runtime run не заявляется. P3, прежние P5 app и natural-production/iOS ограничения сохраняются. Remote CI нового head — отдельная незавершённая проверка, snapshot `ci-after-split.json`. Ранние формулировки о local-only suite внутри production PR и необходимости disable перед merge описывают прежнюю структуру. В актуальном PR этих файлов и hooks нет; review-only branch целиком остаётся вне main. + + +## Возврат проверки production feature flags OFF → failures — 16 октября 2026 + +При упрощении reviewer instructions ошибочно удалён необходимый negative-control шаг. В PR #7379 восстановлен полный **ON → OFF → ON** workflow с конкретными Xcode schemes; остальные пользовательские правки сохранены. + +В review-only branch `codex/cpm-fix-init-loss-integration-tests` добавлен commit **`543e37164b369c8da8b6734e500af4a203944943`**, только два файла: новый shared scheme **CPM Integration Tests - Fixes Disabled** и README с точными cases/flags/ожидаемыми failures. Эта ветка теперь содержит **2 test-only commits / 12 paths** сверх production `da126120a9`; в main она не идёт. Production PR остаётся **2 commits / 21 files**, его head/code/unit regressions не менялись. + +- **CPM Integration Tests** → 8 tests должны PASS. +- **CPM Integration Tests - Fixes Disabled** → автоматически выбирает ровно 6 recovery methods и задаёт обе fixture ENV variables `CPM_APP_INTEGRATION_DISABLE_P1_P2_FIXES=1` / `CPM_APP_INTEGRATION_DISABLE_LATE_RECOVERY=1`. Ожидаются **6 functional FAIL / 0 PASS / 0 skips**. +- Снова **CPM Integration Tests** → все 8 должны PASS. + +Ручное редактирование ENV или выбор отдельных tests reviewer больше не нужны. OFF scheme через fixture отключает реальные production flags: `webExtensions.stateRestorationGate` для install/upgrade/slow wake, `webExtensions.cpmMessagingHangRecovery` для error-6 retry, `webExtensions.cpmLateBackgroundDocumentRecovery` для late GET recovery. Late recovery выключен и в ранних controls, чтобы не маскировать их; в двух over-budget controls navigation gate сохраняется ON. + +Ожидаемые причины FAIL: потерянный native/page first response после install/upgrade; CPM timeout после slow wake; timeout same-document recovery после реальной WK error 6; timeout automatic first-document recovery в late install/upgrade. Setup failures, host crashes или skips не подтверждают работу флага. Полные test names и mapping находятся в README тестовой ветки. В PR сохранены checkout/test/return commands и добавлен возврат к ON scheme. + +Артефакты этой проверки: `/private/tmp/cpm-flag-controls-20261016/`; compiler/test Swift sources и production ref не менялись. Предыдущие 179 unit PASS / production build PASS остаются предыдущей проверкой, не объявляются новым unit/build run. diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index c239a898..1489000d 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -56,7 +56,7 @@ tags: |---|---|---|---|---| | [#7378](https://github.com/duckduckgo/apple-browsers/pull/7378) | `alex/cpm-repro-harness` | main | harness (только тесты); 4 быстрых теста в CI около 3 с, остальное локально через `CPM_REPRO=1` | OPEN, head `dfb96279196d`; 37 success / 18 skipped, без failure/pending; REVIEW_REQUIRED. Предыдущее Danger-предупреждение о 1570 строках сохранено как историческое; в ветке есть коммит другой сессии «Require initResp in the page…» | | [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss` | harness | фикс A: ожидание первой загрузки background после установки/апгрейда посреди сессии | OPEN, head `7ad771e227bb`; 35 success / 20 skipped, без failure/pending; прежние красный и зелёный прогоны сохраняются | -| [#7379 — актуально 16 Oct](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss`, worktree `alex/cpm-fix-p1-p2` | **#7376 / telemetry** | production install/upgrade + P1/P2 + late GET recovery, 5 fix pixels, shared unit regressions; app harness в отдельной ветке | OPEN, head `da126120a9`; **2 commits / 21 files**; app build PASS, unit 179 PASS; review-only branch `codex/cpm-fix-init-loss-integration-tests` / `6e4e39e67c`, app 8/8 PASS, не идёт в main | +| [#7379 — актуально 16 Oct](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss`, worktree `alex/cpm-fix-p1-p2` | **#7376 / telemetry** | production install/upgrade + P1/P2 + late GET recovery, 5 fix pixels, shared unit regressions; весь app harness вне PR | OPEN, head `da126120a9`; **2 commits / 21 files**; app build/unit результаты см. ниже; review-only `codex/cpm-fix-init-loss-integration-tests` / `543e37164b`, 2 test-only commits; ON/OFF schemes и reviewer ON → OFF → ON steps | | [#7381](https://github.com/duckduckgo/apple-browsers/pull/7381) | `alex/cpm-fix-network-crash` | фикс A | фикс B: перезапуск background при замене Network-процесса и мёртвом worker'е | OPEN, remote head `39f94e12eaa4`; 28 success / 24 skipped / 6 failure, включая **Test (Non-Sandbox)** и итоговые отчёты. Прежний красный repro `testNetworkProcessCrashKeepsEveryTabWorking` с 3 ретраями подтверждён. Исправление `f1085846e7ff` — единственный локальный commit поверх remote head; в PR его нет, зелёного CI для него нет | | (нет PR) | `alex/cpm-fix-pixels` | фикс B + PR0 | пиксели `background_restart` и `first_load_wait` для измерения эффекта | держим до слияния PR0, A, B | @@ -1101,3 +1101,20 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa - Новые шесть disabled controls после branch-only split не повторялись: предыдущие **6/6 functional FAIL** на эквивалентном production/harness code остаются историческим evidence в `/private/tmp/cpm-pr7379-final-20261016/`. Нового stress/iOS runtime run не заявляется. P3, прежние P5 app и natural-production/iOS ограничения сохраняются. Remote CI нового head — отдельная незавершённая проверка, snapshot `ci-after-split.json`. Ранние формулировки о local-only suite внутри production PR и необходимости disable перед merge описывают прежнюю структуру. В актуальном PR этих файлов и hooks нет; review-only branch целиком остаётся вне main. + + +## Возврат проверки production feature flags OFF → failures — 16 октября 2026 + +При упрощении reviewer instructions ошибочно удалён необходимый negative-control шаг. В PR #7379 восстановлен полный **ON → OFF → ON** workflow с конкретными Xcode schemes; остальные пользовательские правки сохранены. + +В review-only branch `codex/cpm-fix-init-loss-integration-tests` добавлен commit **`543e37164b369c8da8b6734e500af4a203944943`**, только два файла: новый shared scheme **CPM Integration Tests - Fixes Disabled** и README с точными cases/flags/ожидаемыми failures. Эта ветка теперь содержит **2 test-only commits / 12 paths** сверх production `da126120a9`; в main она не идёт. Production PR остаётся **2 commits / 21 files**, его head/code/unit regressions не менялись. + +- **CPM Integration Tests** → 8 tests должны PASS. +- **CPM Integration Tests - Fixes Disabled** → автоматически выбирает ровно 6 recovery methods и задаёт обе fixture ENV variables `CPM_APP_INTEGRATION_DISABLE_P1_P2_FIXES=1` / `CPM_APP_INTEGRATION_DISABLE_LATE_RECOVERY=1`. Ожидаются **6 functional FAIL / 0 PASS / 0 skips**. +- Снова **CPM Integration Tests** → все 8 должны PASS. + +Ручное редактирование ENV или выбор отдельных tests reviewer больше не нужны. OFF scheme через fixture отключает реальные production flags: `webExtensions.stateRestorationGate` для install/upgrade/slow wake, `webExtensions.cpmMessagingHangRecovery` для error-6 retry, `webExtensions.cpmLateBackgroundDocumentRecovery` для late GET recovery. Late recovery выключен и в ранних controls, чтобы не маскировать их; в двух over-budget controls navigation gate сохраняется ON. + +Ожидаемые причины FAIL: потерянный native/page first response после install/upgrade; CPM timeout после slow wake; timeout same-document recovery после реальной WK error 6; timeout automatic first-document recovery в late install/upgrade. Setup failures, host crashes или skips не подтверждают работу флага. Полные test names и mapping находятся в README тестовой ветки. В PR сохранены checkout/test/return commands и добавлен возврат к ON scheme. + +Артефакты этой проверки: `/private/tmp/cpm-flag-controls-20261016/`; compiler/test Swift sources и production ref не менялись. Предыдущие 179 unit PASS / production build PASS остаются предыдущей проверкой, не объявляются новым unit/build run. diff --git a/work/projects/cpm-web-extension-code-guide-2026-10-09.md b/work/projects/cpm-web-extension-code-guide-2026-10-09.md index 16f0c408..243a1f30 100755 --- a/work/projects/cpm-web-extension-code-guide-2026-10-09.md +++ b/work/projects/cpm-web-extension-code-guide-2026-10-09.md @@ -27,7 +27,7 @@ tags: | `cpm-repro-harness` | `alex/cpm-repro-harness`; `dfb96279196d` | PR #7378: базовый harness, быстрые CI-контроли, медленные сценарии и raw WebKit characterization; без новых P5/P6 | | `cpm-fix-init-loss` — историческая строка; worktree удалён 16 Oct | `alex/cpm-fix-init-loss`; `7ad771e227bb` | PR #7379: A, первые init при install/upgrade mid-session; красное/зелёное доказательство отдельно от remaining-failures | | **`alex/cpm-fix-p1-p2` — актуально 16 Oct** | **`alex/cpm-fix-init-loss`; `da126120a9`** | PR #7379: база #7376 / `713d67419a`; 2 commits / 21 files, production fixes/pixels + 18 новых shared unit methods; local-only app harness и hooks исключены | -| — (отдельная ветка, без своего worktree) | **`codex/cpm-fix-init-loss-integration-tests`; `6e4e39e67c`** | Один дочерний commit от `da126120a9`: 8 app methods + scheme/PBX + 3 DEBUG app hooks; 11 test-only paths; не идёт в main; reviewer checkout/run steps в #7379 | +| — (отдельная ветка, без своего worktree) | **`codex/cpm-fix-init-loss-integration-tests`; `543e37164b`** | Два test-only commits сверх `da126120a9`: 8 app methods, ON/OFF schemes, PBX + 3 DEBUG app hooks; 12 paths, не идут в main; reviewer steps включают ON → OFF → ON | | `cpm-fix-network-crash` | `alex/cpm-fix-network-crash`; local `f1085846e7ff` | B поверх A; 5 network/termination сценариев в FullFailure + 11 watchdog unit tests. Remote PR #7381 остаётся на `39f94e12eaa4`, красный Non-Sandbox; локальный fix не запушен | | `cpm-fix-pixels` | `alex/cpm-fix-pixels`; `d6d800846d1f` | A/B + PR0, измерение `first_load_wait`/`background_restart`; отдельный PR не зарегистрирован в текущем статусе | | `alex/cpm-messaging-readiness-telemetry` | та же; `619869ee84c6` | PR0 #7376: readiness/failure/recovery параметры, CI без failure/pending, review required | @@ -385,3 +385,20 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa - Новые шесть disabled controls после branch-only split не повторялись: предыдущие **6/6 functional FAIL** на эквивалентном production/harness code остаются историческим evidence в `/private/tmp/cpm-pr7379-final-20261016/`. Нового stress/iOS runtime run не заявляется. P3, прежние P5 app и natural-production/iOS ограничения сохраняются. Remote CI нового head — отдельная незавершённая проверка, snapshot `ci-after-split.json`. Ранние формулировки о local-only suite внутри production PR и необходимости disable перед merge описывают прежнюю структуру. В актуальном PR этих файлов и hooks нет; review-only branch целиком остаётся вне main. + + +## Возврат проверки production feature flags OFF → failures — 16 октября 2026 + +При упрощении reviewer instructions ошибочно удалён необходимый negative-control шаг. В PR #7379 восстановлен полный **ON → OFF → ON** workflow с конкретными Xcode schemes; остальные пользовательские правки сохранены. + +В review-only branch `codex/cpm-fix-init-loss-integration-tests` добавлен commit **`543e37164b369c8da8b6734e500af4a203944943`**, только два файла: новый shared scheme **CPM Integration Tests - Fixes Disabled** и README с точными cases/flags/ожидаемыми failures. Эта ветка теперь содержит **2 test-only commits / 12 paths** сверх production `da126120a9`; в main она не идёт. Production PR остаётся **2 commits / 21 files**, его head/code/unit regressions не менялись. + +- **CPM Integration Tests** → 8 tests должны PASS. +- **CPM Integration Tests - Fixes Disabled** → автоматически выбирает ровно 6 recovery methods и задаёт обе fixture ENV variables `CPM_APP_INTEGRATION_DISABLE_P1_P2_FIXES=1` / `CPM_APP_INTEGRATION_DISABLE_LATE_RECOVERY=1`. Ожидаются **6 functional FAIL / 0 PASS / 0 skips**. +- Снова **CPM Integration Tests** → все 8 должны PASS. + +Ручное редактирование ENV или выбор отдельных tests reviewer больше не нужны. OFF scheme через fixture отключает реальные production flags: `webExtensions.stateRestorationGate` для install/upgrade/slow wake, `webExtensions.cpmMessagingHangRecovery` для error-6 retry, `webExtensions.cpmLateBackgroundDocumentRecovery` для late GET recovery. Late recovery выключен и в ранних controls, чтобы не маскировать их; в двух over-budget controls navigation gate сохраняется ON. + +Ожидаемые причины FAIL: потерянный native/page first response после install/upgrade; CPM timeout после slow wake; timeout same-document recovery после реальной WK error 6; timeout automatic first-document recovery в late install/upgrade. Setup failures, host crashes или skips не подтверждают работу флага. Полные test names и mapping находятся в README тестовой ветки. В PR сохранены checkout/test/return commands и добавлен возврат к ON scheme. + +Артефакты этой проверки: `/private/tmp/cpm-flag-controls-20261016/`; compiler/test Swift sources и production ref не менялись. Предыдущие 179 unit PASS / production build PASS остаются предыдущей проверкой, не объявляются новым unit/build run.