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 2e970ed9..46cbbbef 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 @@ -622,7 +622,7 @@ Checkpoint `8a27a69776` включил эти harness fixes. Первая лок - Новый flag проверяется при решении о retry и повторно перед deferred execution. Он управляет только retry фонового контента после error 6 в том же context; прежние rate limit, foreground checks и защита от конкурентного restart сохранены. - `webExtensions.cpmMessagingHangRecovery` управляет full-context restart после подтверждённого messaging hang. Retry работает при restart OFF; restart работает при retry OFF. - `stateRestorationGate`, late GET recovery default OFF и независимый P4 detection не менялись. Этот проход не исправляет известный повторный error 6 на P2 retry в macOS 27 и не объявляет полный app ON/OFF/ON зелёным. -- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. Для traceability использована существующая [задача самого P1/P2 fix](https://app.asana.com/0/0/1219531810004072). +- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. По уточнению пользователя комментарии нового flag на обеих платформах и в `WebExtensionsSubfeature` ссылаются на [отдельную feature-flag задачу](https://app.asana.com/1/137249556945/project/1202406491309510/task/1219701603183698?focus=true); она заменяет первоначальную ссылку на задачу P1/P2 fix. Comment-only update опубликован: production `8d8b5bee0f`, harness `b1b9a047e3`; изменены только три URL-комментария, strict SwiftLint 3 files / 0 violations. Результаты unit/build и CI выше относятся к указанному `55a42802a6`; для comment-only обновления повторный build/tests не запускался. **Регрессии:** обновлён existing runtime kill-switch test; добавлены 4 метода: actual background retry при hang recovery OFF, confirmed-hang restart при retry OFF, veto queued retry после runtime disable, и error-6 notification при retry OFF / restart ON. **271 selected CPM/lifecycle/manager PASS / 0 FAIL**; в production PR теперь **47** новых shared test methods относительно базы. Изолированный контроль с прежними `isCPMMessagingHangRecoveryEnabled()` в обоих retry guards дал **4 failed methods / 10 assertions**; исходники production для контроля не менялись. diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index 2fb31d2f..f638c49a 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -1515,7 +1515,7 @@ Checkpoint `8a27a69776` включил эти harness fixes. Первая лок - Новый flag проверяется при решении о retry и повторно перед deferred execution. Он управляет только retry фонового контента после error 6 в том же context; прежние rate limit, foreground checks и защита от конкурентного restart сохранены. - `webExtensions.cpmMessagingHangRecovery` управляет full-context restart после подтверждённого messaging hang. Retry работает при restart OFF; restart работает при retry OFF. - `stateRestorationGate`, late GET recovery default OFF и независимый P4 detection не менялись. Этот проход не исправляет известный повторный error 6 на P2 retry в macOS 27 и не объявляет полный app ON/OFF/ON зелёным. -- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. Для traceability использована существующая [задача самого P1/P2 fix](https://app.asana.com/0/0/1219531810004072). +- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. По уточнению пользователя комментарии нового flag на обеих платформах и в `WebExtensionsSubfeature` ссылаются на [отдельную feature-flag задачу](https://app.asana.com/1/137249556945/project/1202406491309510/task/1219701603183698?focus=true); она заменяет первоначальную ссылку на задачу P1/P2 fix. Comment-only update опубликован: production `8d8b5bee0f`, harness `b1b9a047e3`; изменены только три URL-комментария, strict SwiftLint 3 files / 0 violations. Результаты unit/build и CI выше относятся к указанному `55a42802a6`; для comment-only обновления повторный build/tests не запускался. **Регрессии:** обновлён existing runtime kill-switch test; добавлены 4 метода: actual background retry при hang recovery OFF, confirmed-hang restart при retry OFF, veto queued retry после runtime disable, и error-6 notification при retry OFF / restart ON. **271 selected CPM/lifecycle/manager PASS / 0 FAIL**; в production PR теперь **47** новых shared test methods относительно базы. Изолированный контроль с прежними `isCPMMessagingHangRecoveryEnabled()` в обоих retry guards дал **4 failed methods / 10 assertions**; исходники production для контроля не менялись. 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 d3dff3fa..d382174b 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 @@ -720,7 +720,7 @@ Checkpoint `8a27a69776` включил эти harness fixes. Первая лок - Новый flag проверяется при решении о retry и повторно перед deferred execution. Он управляет только retry фонового контента после error 6 в том же context; прежние rate limit, foreground checks и защита от конкурентного restart сохранены. - `webExtensions.cpmMessagingHangRecovery` управляет full-context restart после подтверждённого messaging hang. Retry работает при restart OFF; restart работает при retry OFF. - `stateRestorationGate`, late GET recovery default OFF и независимый P4 detection не менялись. Этот проход не исправляет известный повторный error 6 на P2 retry в macOS 27 и не объявляет полный app ON/OFF/ON зелёным. -- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. Для traceability использована существующая [задача самого P1/P2 fix](https://app.asana.com/0/0/1219531810004072). +- Remote override добавляется в **`duckduckgo/privacy-configuration`** под subfeature `cpmBackgroundLoadRecovery` родителя `webExtensions`. Пока subfeature отсутствует в remote config, применяется новый enabled default; если remote config явно задаёт состояние, он имеет приоритет. Generated embedded config здесь не редактировался; remote rollout не выполнялся. По уточнению пользователя комментарии нового flag на обеих платформах и в `WebExtensionsSubfeature` ссылаются на [отдельную feature-flag задачу](https://app.asana.com/1/137249556945/project/1202406491309510/task/1219701603183698?focus=true); она заменяет первоначальную ссылку на задачу P1/P2 fix. Comment-only update опубликован: production `8d8b5bee0f`, harness `b1b9a047e3`; изменены только три URL-комментария, strict SwiftLint 3 files / 0 violations. Результаты unit/build и CI выше относятся к указанному `55a42802a6`; для comment-only обновления повторный build/tests не запускался. **Регрессии:** обновлён existing runtime kill-switch test; добавлены 4 метода: actual background retry при hang recovery OFF, confirmed-hang restart при retry OFF, veto queued retry после runtime disable, и error-6 notification при retry OFF / restart ON. **271 selected CPM/lifecycle/manager PASS / 0 FAIL**; в production PR теперь **47** новых shared test methods относительно базы. Изолированный контроль с прежними `isCPMMessagingHangRecoveryEnabled()` в обоих retry guards дал **4 failed methods / 10 assertions**; исходники production для контроля не менялись.