From d1802f8b1d670c5a6b7ddc0ea5766fca4f2497a5 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 19 Oct 2026 19:52:23 +0600 Subject: [PATCH] [2026-10-19] 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 --- ...cpm-readiness-telemetry-tech-design-2026-10-15.md | 10 +++++++++- work/projects/cpm-status-2026-10-15.md | 12 ++++++++++-- .../cpm-web-extension-code-guide-2026-10-09.md | 10 +++++++++- 3 files changed, 28 insertions(+), 4 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 1b9b5484..b2702258 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 @@ -1,4 +1,4 @@ -> **Актуально — 19 октября 2026, полное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Найден **1 новый P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI snapshot: 31 SUCCESS / 14 SKIPPED / 4 IN_PROGRESS / 3 QUEUED, failures нет, CI ещё идёт. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. +> **Актуально — 19 октября 2026, финальное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Остаётся **1 P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет; повторный probe подтвердил тот же незакрытый дефект. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. > **Актуально — 19 октября 2026, P4 detection без reload опубликована и проверена.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`fc87237a47`**, 7 commits / 22 paths; review-only harness **`475095b335`**, 12 paths вне main. Новый dailyAndCount `web_extension_cpm_startup_response_missing` считает P4 candidates независимо от late recovery flag, без reload и safety JavaScript. **197 unit PASS**, signed macOS и iOS app builds PASS, pixel validators PASS, strict lint 6 production + 2 harness / 0. На одних подписанных app/XCTest binaries: **ON 9 PASS → OFF 6 ожидаемых functional FAIL → ON 9 PASS**, без skips/expected failures, SHA256 совпали. Новый detection-only case дважды подтвердил detection = 1 / finishCount = 1 / late recovery OFF / no late reload outcomes; оба late OFF controls также дали по detection = 1. CI нового head: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. Формы не менялись, late reload flag default disabled. PR steps и все три документа актуализированы; worktree возвращён на чистую production branch. Более ранние heads/results сохранены как история. @@ -486,3 +486,11 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS / - Формы сохранены в ранее явно согласованном scope: исходная проверка и default-disabled late recovery flag. Отложенное усиление формы повторно не предъявлялось как новый finding. Других новых actionable дефектов по полному diff не подтверждено. Artifacts: `/private/tmp/cpm-pr7379-after-p4-review-20261019/`: `review-summary.json`, `CPMP4FullReviewTests.swift`, `candidate-fix.diff`, `shared-tests.log`, `probes.log`, `probes-with-candidate-fix.log`, `rebased-head-with-probes.log`, `rebased-head-with-candidate-fix.log`, четыре pixel validation logs, snapshots WebKit implementation и `pr-final.json`. Исходная тестовая копия после проверки возвращена к production source; candidate patch сохранён отдельно. + +## Финальный контроль #7379 — 19 октября 2026 + +Head остаётся `a00dc4afeb`, база `c7adf28e12`; production diff не изменился после полного review. **Остаётся один открытый P2 error-6/P4 attribution**: проверочная production-правка в PR отсутствует. Повторный запуск трёх изолированных probes на точном head: **2 PASS / 1 FAIL**, detection count **1 вместо 0** в ранее найденном случае. Это тот же управляемый public-API regression probe, не новый natural-trigger app run. + +CI актуального head завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет. Два GitHub review threads resolved, новых открытых threads нет; это не означает, что локально воспроизведённый P4-дефект исправлен. Краткое описание PR и 10 однострочных reviewer steps ON → OFF → ON проверены; таблица feature flags удалена по запросу пользователя. Production worktree чистый; код PR в ходе финального контроля не менялся. + +Повторный log: `/private/tmp/cpm-pr7379-final-review-20261019/probes.log`; PR/CI snapshot: `/private/tmp/cpm-pr7379-final-review-pr.json`; review threads snapshot: `/private/tmp/cpm-pr7379-final-review-threads.json`. Детали причины, предыдущие 196 shared PASS и candidate-only 199 PASS — в предыдущем разделе. diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index dcad0952..20221580 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -6,7 +6,7 @@ tags: - cpm - status --- -> **Актуально — 19 октября 2026, полное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Найден **1 новый P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI snapshot: 31 SUCCESS / 14 SKIPPED / 4 IN_PROGRESS / 3 QUEUED, failures нет, CI ещё идёт. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. +> **Актуально — 19 октября 2026, финальное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Остаётся **1 P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет; повторный probe подтвердил тот же незакрытый дефект. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. > **Актуально — 19 октября 2026, P4 detection без reload опубликована и проверена.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`fc87237a47`**, 7 commits / 22 paths; review-only harness **`475095b335`**, 12 paths вне main. Новый dailyAndCount `web_extension_cpm_startup_response_missing` считает P4 candidates независимо от late recovery flag, без reload и safety JavaScript. **197 unit PASS**, signed macOS и iOS app builds PASS, pixel validators PASS, strict lint 6 production + 2 harness / 0. На одних подписанных app/XCTest binaries: **ON 9 PASS → OFF 6 ожидаемых functional FAIL → ON 9 PASS**, без skips/expected failures, SHA256 совпали. Новый detection-only case дважды подтвердил detection = 1 / finishCount = 1 / late recovery OFF / no late reload outcomes; оба late OFF controls также дали по detection = 1. CI нового head: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. Формы не менялись, late reload flag default disabled. PR steps и все три документа актуализированы; worktree возвращён на чистую production branch. Более ранние heads/results сохранены как история. @@ -68,7 +68,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 — актуально 19 Oct](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss`, worktree `alex/cpm-fix-p1-p2`; local/remote `a00dc4afeb` | **#7376 / telemetry `c7adf28e12`** | install/upgrade + P1/P2 + late recovery + independent P4 detection; 36 новых shared regressions, 196 штатных PASS; новый P2: error-6 startup ошибочно считается P4 после retained successful callback | OPEN, 7 commits / 22 paths; новый probe FAIL, candidate fix только в копии даёт 199 PASS. Pixels validators PASS, CI pending 31 success / 14 skipped / 4 running / 3 queued. Review-only harness `475095b335` и app 9→6→9 относятся к прежнему `fc87237a47`; forms scope сохранён | +| [#7379 — актуально 19 Oct](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss`, worktree `alex/cpm-fix-p1-p2`; local/remote `a00dc4afeb` | **#7376 / telemetry `c7adf28e12`** | install/upgrade + P1/P2 + late recovery + independent P4 detection; 36 новых shared regressions, 196 штатных PASS; новый P2: error-6 startup ошибочно считается P4 после retained successful callback | OPEN, 7 commits / 22 paths; новый probe FAIL, candidate fix только в копии даёт 199 PASS. Pixels validators PASS, CI завершён: 53 SUCCESS / 25 SKIPPED; повторный probe 2 PASS / 1 FAIL, дефект остаётся. Review-only harness `475095b335` и app 9→6→9 относятся к прежнему `fc87237a47`; forms scope сохранён | | [#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 | @@ -1292,3 +1292,11 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS / - Формы сохранены в ранее явно согласованном scope: исходная проверка и default-disabled late recovery flag. Отложенное усиление формы повторно не предъявлялось как новый finding. Других новых actionable дефектов по полному diff не подтверждено. Artifacts: `/private/tmp/cpm-pr7379-after-p4-review-20261019/`: `review-summary.json`, `CPMP4FullReviewTests.swift`, `candidate-fix.diff`, `shared-tests.log`, `probes.log`, `probes-with-candidate-fix.log`, `rebased-head-with-probes.log`, `rebased-head-with-candidate-fix.log`, четыре pixel validation logs, snapshots WebKit implementation и `pr-final.json`. Исходная тестовая копия после проверки возвращена к production source; candidate patch сохранён отдельно. + +## Финальный контроль #7379 — 19 октября 2026 + +Head остаётся `a00dc4afeb`, база `c7adf28e12`; production diff не изменился после полного review. **Остаётся один открытый P2 error-6/P4 attribution**: проверочная production-правка в PR отсутствует. Повторный запуск трёх изолированных probes на точном head: **2 PASS / 1 FAIL**, detection count **1 вместо 0** в ранее найденном случае. Это тот же управляемый public-API regression probe, не новый natural-trigger app run. + +CI актуального head завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет. Два GitHub review threads resolved, новых открытых threads нет; это не означает, что локально воспроизведённый P4-дефект исправлен. Краткое описание PR и 10 однострочных reviewer steps ON → OFF → ON проверены; таблица feature flags удалена по запросу пользователя. Production worktree чистый; код PR в ходе финального контроля не менялся. + +Повторный log: `/private/tmp/cpm-pr7379-final-review-20261019/probes.log`; PR/CI snapshot: `/private/tmp/cpm-pr7379-final-review-pr.json`; review threads snapshot: `/private/tmp/cpm-pr7379-final-review-threads.json`. Детали причины, предыдущие 196 shared PASS и candidate-only 199 PASS — в предыдущем разделе. 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 85be987c..e301d957 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 @@ -6,7 +6,7 @@ tags: - cpm - webkit --- -> **Актуально — 19 октября 2026, полное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Найден **1 новый P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI snapshot: 31 SUCCESS / 14 SKIPPED / 4 IN_PROGRESS / 3 QUEUED, failures нет, CI ещё идёт. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. +> **Актуально — 19 октября 2026, финальное ревью #7379 после P4 detection.** Проверен опубликованный после rebase **`a00dc4afeb`** / база #7376 **`c7adf28e12`**, 7 commits / 22 paths. Остаётся **1 P2: error-6 startup может ошибочно попасть в P4 detection после позднего callback успешного retry**. На текущем head: **196 существующих shared tests PASS + 2 дополнительных probes PASS / 1 новый probe FAIL**. Проверочная однострочная правка только в изолированной копии даёт **199 PASS**; в PR она не внесена. Pixel validators обеих платформ PASS. CI завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет; повторный probe подтвердил тот же незакрытый дефект. Предыдущие 197 unit и app 9→6→9 относятся к `fc87237a47`; новая база убрала один retired-telemetry тест. Подробности и границы воспроизведения — в разделе «Полное ревью после P4 detection — error-6 attribution». История ниже сохранена. > **Актуально — 19 октября 2026, P4 detection без reload опубликована и проверена.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`fc87237a47`**, 7 commits / 22 paths; review-only harness **`475095b335`**, 12 paths вне main. Новый dailyAndCount `web_extension_cpm_startup_response_missing` считает P4 candidates независимо от late recovery flag, без reload и safety JavaScript. **197 unit PASS**, signed macOS и iOS app builds PASS, pixel validators PASS, strict lint 6 production + 2 harness / 0. На одних подписанных app/XCTest binaries: **ON 9 PASS → OFF 6 ожидаемых functional FAIL → ON 9 PASS**, без skips/expected failures, SHA256 совпали. Новый detection-only case дважды подтвердил detection = 1 / finishCount = 1 / late recovery OFF / no late reload outcomes; оба late OFF controls также дали по detection = 1. CI нового head: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. Формы не менялись, late reload flag default disabled. PR steps и все три документа актуализированы; worktree возвращён на чистую production branch. Более ранние heads/results сохранены как история. @@ -576,3 +576,11 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS / - Формы сохранены в ранее явно согласованном scope: исходная проверка и default-disabled late recovery flag. Отложенное усиление формы повторно не предъявлялось как новый finding. Других новых actionable дефектов по полному diff не подтверждено. Artifacts: `/private/tmp/cpm-pr7379-after-p4-review-20261019/`: `review-summary.json`, `CPMP4FullReviewTests.swift`, `candidate-fix.diff`, `shared-tests.log`, `probes.log`, `probes-with-candidate-fix.log`, `rebased-head-with-probes.log`, `rebased-head-with-candidate-fix.log`, четыре pixel validation logs, snapshots WebKit implementation и `pr-final.json`. Исходная тестовая копия после проверки возвращена к production source; candidate patch сохранён отдельно. + +## Финальный контроль #7379 — 19 октября 2026 + +Head остаётся `a00dc4afeb`, база `c7adf28e12`; production diff не изменился после полного review. **Остаётся один открытый P2 error-6/P4 attribution**: проверочная production-правка в PR отсутствует. Повторный запуск трёх изолированных probes на точном head: **2 PASS / 1 FAIL**, detection count **1 вместо 0** в ранее найденном случае. Это тот же управляемый public-API regression probe, не новый natural-trigger app run. + +CI актуального head завершён: **53 SUCCESS / 25 SKIPPED**, failures и pending нет. Два GitHub review threads resolved, новых открытых threads нет; это не означает, что локально воспроизведённый P4-дефект исправлен. Краткое описание PR и 10 однострочных reviewer steps ON → OFF → ON проверены; таблица feature flags удалена по запросу пользователя. Production worktree чистый; код PR в ходе финального контроля не менялся. + +Повторный log: `/private/tmp/cpm-pr7379-final-review-20261019/probes.log`; PR/CI snapshot: `/private/tmp/cpm-pr7379-final-review-pr.json`; review threads snapshot: `/private/tmp/cpm-pr7379-final-review-threads.json`. Детали причины, предыдущие 196 shared PASS и candidate-only 199 PASS — в предыдущем разделе.