diff --git a/Users/admin/obsidian/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md b/Users/admin/obsidian/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md index e69de29b..91deb85f 100755 --- a/Users/admin/obsidian/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md +++ b/Users/admin/obsidian/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md @@ -0,0 +1,9 @@ +--- +updated: '2026-10-20' +status: redirect +--- +# Moved + +This duplicate was empty. The maintained CPM episode telemetry document is [[work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16|CPM PR0 — complete telemetry change]]. + +Current project status: [[work/projects/cpm-status-2026-10-15|CPM status]]. diff --git a/work/projects/CPM Breakage Testing Steps.md b/work/projects/CPM Breakage Testing Steps.md index 9d119751..51f72308 100755 --- a/work/projects/CPM Breakage Testing Steps.md +++ b/work/projects/CPM Breakage Testing Steps.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # CPM episode telemetry — testing steps Verified against #7376 **`5d1cb4abd2`**, 20 October 2026. These expectations apply to that published branch; the PR is closed without merge. The macOS counterpart #7484 still has the earlier `was_stuck` contract. Full values and limitations: [[cpm-pr0-episode-telemetry-summary-2026-10-16]]. diff --git a/work/projects/cpm-background-graveyard-experiment-definition.md b/work/projects/cpm-background-graveyard-experiment-definition.md index 10aea50f..1aba29c7 100755 --- a/work/projects/cpm-background-graveyard-experiment-definition.md +++ b/work/projects/cpm-background-graveyard-experiment-definition.md @@ -3,8 +3,8 @@ tags: - cpm - experiment - ab-testing -status: ready-for-review -updated: '2026-09-22' +status: historical-proposal +updated: '2026-10-20' --- # CPM Background Graveyard — Experiment Definition diff --git a/work/projects/cpm-extension-health-pixels-privacy-triage.md b/work/projects/cpm-extension-health-pixels-privacy-triage.md index d3eb7052..8bda3ecb 100755 --- a/work/projects/cpm-extension-health-pixels-privacy-triage.md +++ b/work/projects/cpm-extension-health-pixels-privacy-triage.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # Privacy Triage: Apple - CPM Extension Health Pixels > **Historical privacy draft; current contract checked 20 October 2026.** The separate event list below is superseded on the published #7376 branch by one `web_extension_cpm_episode` with **daily+count**. The PR is closed without merge; no shipping claim follows from this note. diff --git a/work/projects/cpm-m3-telemetry-privacy-triage.md b/work/projects/cpm-m3-telemetry-privacy-triage.md index a4878821..c1466f5d 100755 --- a/work/projects/cpm-m3-telemetry-privacy-triage.md +++ b/work/projects/cpm-m3-telemetry-privacy-triage.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # TD: Pixel Definition: CPM Failure Diagnostics (macOS/iOS) > **Status checked 20 October 2026.** This note preserves the original M3 schema merged in #6844, with later production evidence in iOS 7.240+ / macOS 1.210+. It is not the schema of the current #7376 branch. diff --git a/work/projects/cpm-metrics-causes-and-mitigations-2026-10-16.md b/work/projects/cpm-metrics-causes-and-mitigations-2026-10-16.md index 132eb8bb..c7f8249e 100755 --- a/work/projects/cpm-metrics-causes-and-mitigations-2026-10-16.md +++ b/work/projects/cpm-metrics-causes-and-mitigations-2026-10-16.md @@ -5,6 +5,7 @@ tags: - work - cpm - analysis +updated: '2026-10-20' --- # CPM: metrics, causes and mitigations diff --git a/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md b/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md index 887d6faa..e6266688 100755 --- a/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md +++ b/work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md @@ -5,6 +5,7 @@ tags: - work - cpm - telemetry +updated: '2026-10-20' --- # CPM PR0: one terminal report per failure episode 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 62edefbe..f5e60c71 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,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # TD: Pixel Definition: CPM Readiness Telemetry (macOS/iOS) ## Current implementation — verified 20 October 2026 diff --git a/work/projects/cpm-service-worker-architecture-and-diagnostics.md b/work/projects/cpm-service-worker-architecture-and-diagnostics.md index fa667cfb..39b93b4f 100755 --- a/work/projects/cpm-service-worker-architecture-and-diagnostics.md +++ b/work/projects/cpm-service-worker-architecture-and-diagnostics.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # CPM Service Worker — architecture, diagnostics, failure gaps > **Current implementation context — 20 October 2026.** The architecture/source audit below remains dated September 25; its bundle versions, milestones and open-source bug shipping statements are historical. Current sources/worktrees: [[cpm-web-extension-code-guide-2026-10-09#0. Текущая карта worktree и точек входа]]. diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index 106be802..c31537ab 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -5,6 +5,7 @@ tags: - work - cpm - status +updated: '2026-10-20' --- # CPM Web Extension: единый статус @@ -14,13 +15,7 @@ tags: -> **Актуальный локальный итог P1/P2 — 16 октября, 12:30 UTC / 18:30 Бишкек.** В `cpm-e2e-init` добавлены точечные production-кандидаты и две app-регрессии: **22/22 текущих app methods PASS**, 0 failed/skipped/expected failures в positive runs; P2 same-document повторён дважды. С выключенными фиксами обе новые регрессии красные по функциональным причинам. Пакет: 806 tests, 14 skipped, 0 failures; strict SwiftLint — 0 нарушений. **P2 в окончательном варианте повторяет только background load и сохраняет context; full-context prototype отвергнут как нестабильный.** Подробный итог и ограничения — раздел «Окончательный итог точечных P1/P2-кандидатов». Это macOS с управляемыми fault conditions, не доказательство natural iOS production cause. Коммитов/PR изменений нет; прежние разделы и красные прогоны сохранены. - -Внутренний документ. **Цифры из ClickHouse, в публичные PR, комментарии и issues не переносить** (репозитории `duckduckgo/apple-browsers` и `duckduckgo/duckduckgo-privacy-extension` публичные). Заменяет заметку `cpm-telemetry-data-requirements-2026-10-15` (теперь ссылка сюда). Исторические срезы с собственными датами и знаменателями: [[cpm-web-extension-public-attribution-2026-10-05]], [[cpm-web-extension-data-analysis-summary-2026-10-08]], [[cpm-web-extension-repro-and-fix-2026-10-08]]. Актуальная карта worktree и точек входа добавлена в [[cpm-web-extension-code-guide-2026-10-09]]; её прежние разделы сохранены как карта на 9 октября. - -**Дополнение 16 октября: app-hosted integration tests.** Добавлены 20 методов в `cpm-e2e-init`, схема `CPM Integration Tests`, штатная Apple Development signing, без commits. Финальный тестовый результат — **20/20 PASS в группах 18+1+1**, 0 failed/skipped/expected failures. **Это не «все production-кейсы кроме P3 воспроизведены»: часть методов использует явные fault injections, а все app methods — тестовое окружение и инструментированный bundle.** Связь с production-причинами доказана не для всех групп. Все результаты, включая красные совместные прогоны, отрицательный P3 и ограничение app P5, находятся в §13 и [[#Финальный app-hosted итог — 16 октября 2026]]. Финальную сводку §13 считать текущей; ранние «пока нет результатов» — сохранённая хронология. PR/CI и ClickHouse в рамках app-тестов заново не запрашивались. - -**Предыдущая сверка — 15 октября, 17:26 UTC / 23:26 Бишкек.** Разделы 1–9 — сводный статус; §10–11 — сохранённая хронология экспериментов, где «пока», «не найдено» и красные ожидания относятся к моменту записи. Текущий итог всех 14 P5/P6-проверок, границы доказательства и команды — §12. PR/CI сверены read-only через GitHub; результаты локальных тестов сверены с существующими логами и исходниками, в этом документационном проходе тесты и ClickHouse-запросы заново не запускались. +Внутренний документ. **Цифры ClickHouse не переносить в публичные PR/comments/issues.** Каждый production cut сохраняет свои даты и знаменатели. Исторические результаты тестов относятся к указанным heads; факт merge/approval/зелёного CI сам по себе не устанавливает rollout. Старые краткие сводки и прежний план сохранены в §9а. ## 1. Коротко @@ -158,7 +153,7 @@ Healthy load/wake baseline (#7384 закрыт) и targeted startup/no-view `app Parser должен разделять по **`,` и `;`**, игнорировать пустые entries и standalone `...`. Старый comma-only parser неверно прочитает границу. Отсутствие error/death token в обрезанном таймлайне не доказывает отсутствие события. -**Обрезание уже было в production — проверен срез 14 октября UTC.** Daily attribution reports, iOS major=7/minor≥240, macOS major=1/minor≥210, `pixel_id=debug` и соответствующие agents: +**Обрезание уже было в production — проверен срез 14 октября UTC.** Daily attribution reports с непустым `context_loaded`, iOS major=7/minor≥240, macOS major=1/minor≥210, `pixel_id=debug` и соответствующие agents: - iOS init: 1,103,215 reports с bg_events; 192,070 (17.41%) содержат 12 событий; **166,327 (15.08%) без исходного load**. - iOS stuck: 169,115; 79,217 (46.84%) содержат 12 событий; **69,097 (40.86%) без load**. @@ -175,6 +170,10 @@ Parser должен разделять по **`,` и `;`**, игнорирова Полный contract, частоты, 11 retired pixels и 9 удалённых полей: [[cpm-pr0-episode-telemetry-summary-2026-10-16]]. Источник текущей сериализации: [WebExtensionPixelFiring.swift на 5d1cb4abd2](https://github.com/duckduckgo/apple-browsers/blob/5d1cb4abd2f5e16d23a19f0c43c7017a52e9c9b6/SharedPackages/WebExtensions/Sources/WebExtensions/Pixels/WebExtensionPixelFiring.swift); [bg_events encoder](https://github.com/duckduckgo/apple-browsers/blob/5d1cb4abd2f5e16d23a19f0c43c7017a52e9c9b6/SharedPackages/WebExtensions/Sources/WebExtensions/Autoconsent/CPMMessagingDiagnostics.swift). +### Проверка актуальности документации — 20 октября 2026 + +Сверены все 18 содержательных CPM-заметок в vault: текущие sections описывают опубликованный contract, старые proposals/PR states/test results явно датированы как история. PR summary остаётся на английском, без таблиц. Проверкой diff/schema подтверждены наличие описаний **всех 18 wire fields**, частота daily+count, **все 11 retired definitions** и перечисление **9 удалённых старых полей**. Текст и frontmatter повторно прочитаны после записи; исходные cohorts, красные прогоны и ограничения сохранены. Это документационный проход: код, branches, PR states и dependency lockfile не менялись; новые app/unit tests не запускались. + ### Историческая оценка до перехода на единый эпизод Следующее описание относится к прежнему дизайну PR0, до замены отдельных failure/recovery-пикселей единым эпизодом. @@ -194,7 +193,7 @@ Parser должен разделять по **`,` и `;`**, игнорирова | скаляры вместо `bg_events` | 0.96% | 4.4% | | без `bg_events` | 0.25% | 2.0% | -Верхняя граница прироста от новых полей (синтетическое независимое равновероятное поле): со старым `bg_events` при десяти значениях iOS 21%, macOS 65%; со скалярами 3.6% / 15.8%. **Вывод:** «хуже не будет» можно утверждать только со скалярами. Главный идентификатор уже выкачен (`bg_events`). +Верхняя граница прироста от новых полей (синтетическое независимое равновероятное поле): со старым `bg_events` при десяти значениях iOS 21%, macOS 65%; со скалярами 3.6% / 15.8%. **Граница этого исторического расчёта:** скаляры снижали наблюдаемую уникальность старого payload; это не гарантия, что добавление новых полей не увеличит различимость. `bg_events` — существенный источник редких сочетаний, а не доказанный идентификатор пользователя. Оценка нового двухфазного payload отдельно не выполнена. **`bg_events`:** единственный источник давности загрузки (`load`, `base_url_changed`) и причины смерти (`died_*`). `view`, `dealloc`, `proxy_on`, `error_*` дублируют `bg_view_creations` и `context_errors`; `hold/release/proxy_off` равны нулю. Скаляры воспроизводят когорты загрузки и пробуждения на 100% строк. Теряется: поиск неожиданных последовательностей в остатке (смягчить удалённым флагом). @@ -283,6 +282,16 @@ multiIf( > **Отдельная ветка P1/P2 — финал 16 Oct, 13:33 UTC.** Новый worktree `alex/cpm-fix-p1-p2` от текущего `alex/cpm-messaging-readiness-telemetry` (`01d4a0ec22`): только P1/P2-кандидаты и необходимые тесты. Новых методов **2 app + 4 unit**; **22 — полный старый research app-набор**. На новой signed app-сборке **2/2 PASS**, unit **165 PASS**, strict lint 0; те же два app-теста при выключенных flags дают ожидаемые функциональные FAIL. Текущая база использует episode contract: P2 `failed_measurement_response`, `reload_state=none`, плюс реальная доставка initResp в тот же документ без навигации. История исправленного test teardown сохранена. Коммитов нет; scratch не изменён; подробности и артефакты — в конце документа. +### Дополнения и исходные сводки — 15–16 октября + +> **Актуальный локальный итог P1/P2 — 16 октября, 12:30 UTC / 18:30 Бишкек.** В `cpm-e2e-init` добавлены точечные production-кандидаты и две app-регрессии: **22/22 текущих app methods PASS**, 0 failed/skipped/expected failures в positive runs; P2 same-document повторён дважды. С выключенными фиксами обе новые регрессии красные по функциональным причинам. Пакет: 806 tests, 14 skipped, 0 failures; strict SwiftLint — 0 нарушений. **P2 в окончательном варианте повторяет только background load и сохраняет context; full-context prototype отвергнут как нестабильный.** Подробный итог и ограничения — раздел «Окончательный итог точечных P1/P2-кандидатов». Это macOS с управляемыми fault conditions, не доказательство natural iOS production cause. Коммитов/PR изменений нет; прежние разделы и красные прогоны сохранены. + +Внутренний документ. **Цифры из ClickHouse, в публичные PR, комментарии и issues не переносить** (репозитории `duckduckgo/apple-browsers` и `duckduckgo/duckduckgo-privacy-extension` публичные). Заменяет заметку `cpm-telemetry-data-requirements-2026-10-15` (теперь ссылка сюда). Исторические срезы с собственными датами и знаменателями: [[cpm-web-extension-public-attribution-2026-10-05]], [[cpm-web-extension-data-analysis-summary-2026-10-08]], [[cpm-web-extension-repro-and-fix-2026-10-08]]. Актуальная карта worktree и точек входа добавлена в [[cpm-web-extension-code-guide-2026-10-09]]; её прежние разделы сохранены как карта на 9 октября. + +**Дополнение 16 октября: app-hosted integration tests.** Добавлены 20 методов в `cpm-e2e-init`, схема `CPM Integration Tests`, штатная Apple Development signing, без commits. Финальный тестовый результат — **20/20 PASS в группах 18+1+1**, 0 failed/skipped/expected failures. **Это не «все production-кейсы кроме P3 воспроизведены»: часть методов использует явные fault injections, а все app methods — тестовое окружение и инструментированный bundle.** Связь с production-причинами доказана не для всех групп. Все результаты, включая красные совместные прогоны, отрицательный P3 и ограничение app P5, находятся в §13 и [[#Финальный app-hosted итог — 16 октября 2026]]. Финальную сводку §13 считать текущей; ранние «пока нет результатов» — сохранённая хронология. PR/CI и ClickHouse в рамках app-тестов заново не запрашивались. + +**Предыдущая сверка — 15 октября, 17:26 UTC / 23:26 Бишкек.** Разделы 1–9 — сводный статус; §10–11 — сохранённая хронология экспериментов, где «пока», «не найдено» и красные ожидания относятся к моменту записи. Текущий итог всех 14 P5/P6-проверок, границы доказательства и команды — §12. PR/CI сверены read-only через GitHub; результаты локальных тестов сверены с существующими логами и исходниками, в этом документационном проходе тесты и ClickHouse-запросы заново не запускались. + ### План до перехода на episode report — история ## 8. Открытые решения и следующие шаги diff --git a/work/projects/cpm-telemetry-data-requirements-2026-10-15.md b/work/projects/cpm-telemetry-data-requirements-2026-10-15.md index f396c893..affa9073 100755 --- a/work/projects/cpm-telemetry-data-requirements-2026-10-15.md +++ b/work/projects/cpm-telemetry-data-requirements-2026-10-15.md @@ -5,6 +5,7 @@ tags: - work - cpm - telemetry +updated: '2026-10-20' --- # Перенесено diff --git a/work/projects/cpm-web-extension-breakage-findings.md b/work/projects/cpm-web-extension-breakage-findings.md index 39b66040..1a699983 100755 --- a/work/projects/cpm-web-extension-breakage-findings.md +++ b/work/projects/cpm-web-extension-breakage-findings.md @@ -7,6 +7,7 @@ tags: - cpm - webkit - web-extension +updated: '2026-10-20' --- # CPM Web Extension Breakage Findings diff --git a/work/projects/cpm-web-extension-breakage-session-summary-2026-10-07.md b/work/projects/cpm-web-extension-breakage-session-summary-2026-10-07.md index 1ab50e06..7fbcee7a 100755 --- a/work/projects/cpm-web-extension-breakage-session-summary-2026-10-07.md +++ b/work/projects/cpm-web-extension-breakage-session-summary-2026-10-07.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # CPM Web Extension breakage — полное summary сессии > **Контекст актуализирован 20 октября 2026.** Это summary исследований 7–9 октября с follow-up от 15 октября, а не текущий PR contract. Последние states/CI и implementations — [[cpm-status-2026-10-15]], код — [[cpm-web-extension-code-guide-2026-10-09#0. Текущая карта worktree и точек входа]]. diff --git a/work/projects/cpm-web-extension-breakage-validation.md b/work/projects/cpm-web-extension-breakage-validation.md index f6e2f7c7..045bb124 100755 --- a/work/projects/cpm-web-extension-breakage-validation.md +++ b/work/projects/cpm-web-extension-breakage-validation.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # CPM Web Extension Breakage — статус и проверка причин > **Сверено 20 октября 2026.** Актуальный реестр PR/CI — [[cpm-status-2026-10-15#2. PR и quality gates]], телеметрия/границы диагностики — §6, исходники — [[cpm-web-extension-code-guide-2026-10-09#0. Текущая карта worktree и точек входа]]. 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 300d0668..0a47cdb6 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 @@ -5,6 +5,7 @@ tags: - work - cpm - webkit +updated: '2026-10-20' --- # CPM Web Extension — карта кода по worktree и строкам diff --git a/work/projects/cpm-web-extension-data-analysis-summary-2026-10-08.md b/work/projects/cpm-web-extension-data-analysis-summary-2026-10-08.md index 7e933678..f744159c 100755 --- a/work/projects/cpm-web-extension-data-analysis-summary-2026-10-08.md +++ b/work/projects/cpm-web-extension-data-analysis-summary-2026-10-08.md @@ -1,11 +1,12 @@ --- title: CPM Web Extension failures — what the data shows date: '2026-10-08' -status: draft-for-asana +status: historical-analysis tags: - work - cpm - webkit +updated: '2026-10-20' --- # CPM Web Extension failures: what the data shows diff --git a/work/projects/cpm-web-extension-public-attribution-2026-10-05.md b/work/projects/cpm-web-extension-public-attribution-2026-10-05.md index 9959e12a..09560fe7 100755 --- a/work/projects/cpm-web-extension-public-attribution-2026-10-05.md +++ b/work/projects/cpm-web-extension-public-attribution-2026-10-05.md @@ -1,3 +1,6 @@ +--- +updated: '2026-10-20' +--- # CPM Web Extension: attribution и сравнение релизов — 5 октября 2026 > **Исторический отчёт за 5 октября; контекст сверён 20 октября 2026.** Таблицы, release-tag cutoffs и контрольные суммы сохранены без пересчёта. Актуальные PR/CI, отдельные когорты 12–14 октября и проверка обрезания history за 14 октября — [[cpm-status-2026-10-15]]. Новые числа нельзя переносить в прежние знаменатели. diff --git a/work/projects/cpm-web-extension-repro-and-fix-2026-10-08.md b/work/projects/cpm-web-extension-repro-and-fix-2026-10-08.md index 462b13a6..ecd6e43c 100755 --- a/work/projects/cpm-web-extension-repro-and-fix-2026-10-08.md +++ b/work/projects/cpm-web-extension-repro-and-fix-2026-10-08.md @@ -1,11 +1,12 @@ --- title: CPM Web Extension — воспроизведение и фикс date: '2026-10-08' -status: fix-uncommitted +status: historical-investigation tags: - work - cpm - webkit +updated: '2026-10-20' --- # CPM Web Extension — воспроизведение и фикс diff --git a/work/projects/cpm-web-extension-repro-and-fixes-summary-2026-10-08.md b/work/projects/cpm-web-extension-repro-and-fixes-summary-2026-10-08.md index a90c042c..10879e6c 100755 --- a/work/projects/cpm-web-extension-repro-and-fixes-summary-2026-10-08.md +++ b/work/projects/cpm-web-extension-repro-and-fixes-summary-2026-10-08.md @@ -1,11 +1,12 @@ --- title: CPM Web Extension failures — reproduction and fixes date: '2026-10-08' -status: draft-for-asana +status: historical-summary tags: - work - cpm - webkit +updated: '2026-10-20' --- # CPM Web Extension failures: reproduction and fixes