From beac1f059d87e8f84b37670d4a24646ec4919228 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 23 Sep 2026 16:43:50 +0600 Subject: [PATCH] [2026-09-23] eagle: work/projects/cpm-web-extension-breakage-validation.md --- .../cpm-web-extension-breakage-validation.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/work/projects/cpm-web-extension-breakage-validation.md b/work/projects/cpm-web-extension-breakage-validation.md index 3d3c754e..1fdddbc8 100644 --- a/work/projects/cpm-web-extension-breakage-validation.md +++ b/work/projects/cpm-web-extension-breakage-validation.md @@ -35,7 +35,7 @@ M4 перезагружает Web Extensions при первом сигнале | M2 stable base URL | `alex/cpm-stable-base-url` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-stable-base-url` | **Production-ready:** 2 files; 11/11 targeted tests. Добавлена safe URL construction и negative validation вместо force-unwrap. | | M3 attribution telemetry | `alex/cpm-failure-telemetry` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-failure-telemetry` | **Merged 2026-09-23:** [PR #6844](https://github.com/duckduckgo/apple-browsers/pull/6844), CI green. Bucketed diagnostics, app launch/version attribution, `extension_updated`, `base_url_changed`, `recovery_from`, reload-error pixel; recorder и proxy имеют отдельные flags. [[cpm-m3-telemetry-privacy-triage]]. | | M4 hung recovery | `codex/cpm-hung-recovery` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-hung-recovery` | **In progress:** первый `messaging init failure` открывает diagnostic episode; первый последующий `hung` перезагружает Web Extensions. | -| M5 graveyard mitigation | `alex/cpm-graveyard-mitigation` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-graveyard-mitigation` | **Production-ready, default off:** one retained view maximum, 3-second bounded hold, stale release cancellation, unload/reload/runtime kill-switch cleanup. 24/24 targeted tests; earlier real forced-kill iOS E2E recovered with release at ≈3.15 s. | +| M5 graveyard mitigation | `alex/cpm-graveyard-mitigation` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-graveyard-mitigation` | **Production-ready, default off; rebased onto merged M3:** one retained view maximum, 3-second bounded hold, stale release cancellation, unload/reload/runtime kill-switch cleanup. 122/122 targeted tests; iOS/macOS builds pass; earlier real forced-kill iOS E2E recovered with release at ≈3.15 s. | | M6 graveyard A/B | `alex/cpm-graveyard-ab` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-graveyard-ab` | **Production-ready code:** lazy exposure enrollment, stable cohorts, control/treatment isolation, bounded pending queue, operational pixels and standard `experiment_metrics` outcome. 421/421 WebExtensions tests; iOS/macOS app builds; iOS/macOS pixel validators. | All milestone diffs pass `git diff --check`; changed Swift lines are within 150 columns. @@ -49,13 +49,13 @@ M2 — independent stable-base-URL fix. Вошедший в M3 `base_url_changed Stacked PRs: ``` -M3 telemetry -└── M4 hung recovery - └── M5 graveyard mitigation - └── M6 A/B experiment +M3 telemetry — merged into origin/main +├── M4 hung recovery +└── M5 graveyard mitigation + └── M6 A/B experiment ``` -Следующий Git-шаг: обновить `origin/main`, сверить diff M2/M4/M5/M6 и перенести оставшиеся изменения на merged M3 в порядке выше. Старые локальные refs не подтверждают актуальный stack; готовность M2/M5/M6 в таблице относится к предыдущей локальной валидации, не к повторной проверке после merge M3. Rebase/commit этих веток ещё не выполнялись в рамках этого обновления. +M5 обновлён на `origin/main` (`2d58ad8cf4fae728a92e2aae0d3ec6073ddf49f2`) без commit: в worktree лежат только 10 unstaged файлов mitigation. M4 и M6 ещё не обновлены; M6 должен остаться stacked поверх M5. Не включать generated `Package.resolved` churn. @@ -71,7 +71,7 @@ Full definition and config draft: [[cpm-background-graveyard-experiment-definiti ## Remaining gates -1. Обновить оставшиеся ветки поверх merged M3; build/validate M4 и повторно проверить зависимые M5/M6. Открыть M2/M4/M5/M6 PRs в topology выше. +1. Обновить и проверить M4 поверх merged M3; затем обновить и проверить M6 поверх M5. Открыть M2/M4/M5/M6 PRs в topology выше. 2. Create separate iOS and macOS experiment-log tasks. 3. Create Privacy Configuration + privacy/schema review tasks. 4. Create Data Science sample-size/design and Native Apps Experiment Analysis task.