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 68f3a680..baa86cb2 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,5 @@ +> **Актуально — 16 октября 2026, reviewer ON → OFF → ON.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) восстановлена проверка выключенных production flags. Review-only branch **`codex/cpm-fix-init-loss-integration-tests` / `543e37164b`** содержит два schemes: **CPM Integration Tests** → 8 PASS; **CPM Integration Tests - Fixes Disabled** → ровно 6 functional FAIL; затем normal scheme → снова 8 PASS. Проверено на одних подписанных app/XCTest binaries, без пересборки и изменения Swift code. Production PR **`da126120a9`**, 2 commits / 21 files, не менялся; harness остаётся вне main (2 test-only commits / 12 paths). Пользовательские правки PR сохранены. Подробные результаты и artifacts — в конце; прежние односхемные steps и harness head `6e4e39e67c` относятся к истории. + > **Актуально — 16 октября 2026, harness вынесен из PR.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): **`alex/cpm-fix-init-loss` / `da126120a9`**, база #7376, **2 коммита / 21 файл**, production fixes + 18 новых shared unit regressions. Все local-only app tests, Xcode entries и DEBUG app hooks — только в **[`codex/cpm-fix-init-loss-integration-tests`](https://github.com/duckduckgo/apple-browsers/tree/codex/cpm-fix-init-loss-integration-tests) / `6e4e39e67c`**, один дочерний commit от PR head; **эта ветка не идёт в main**. Проверено: production app build PASS, unit **179 PASS**, harness app **8/8 PASS**, strict lint **19+8 / 0**. Reviewer steps в PR обновлены и пользовательские правки сохранены. Ниже сохранена датированная история; прежние 3 commits / 32 files и app harness в PR больше не актуальны. > **Актуальный итог — 16 октября 2026, после force push.** [PR #7379](https://github.com/duckduckgo/apple-browsers/pull/7379) теперь поверх **#7376** (`alex/cpm-messaging-readiness-telemetry`), head **`aec5be9a83`**, ровно **3 коммита / 32 файла**. Старый worktree `cpm-fix-init-loss` удалён; текущая директория `alex/cpm-fix-p1-p2` теперь на ветке `alex/cpm-fix-init-loss`. Checkpoint **`367759cbc1`** и backup старой истории сохранены. Проверка через production feature flags **без создания/переключения коммитов**: signed app **8/8 PASS ON**, **6/6 функциональных FAIL OFF**, unit **179 PASS**, strict lint **27 / 0**, pixel validators обеих платформ PASS. Новый late-reload flag **default disabled**. Описание PR/шаги и local-only `to-be-disabled before merge` annotations обновлены; GitHub CI ещё не объявляется green. Подробная финальная сверка — в конце документа. **Ниже сохранена датированная история: прежние «не закоммичено», старые head/base и over-budget limitation не являются текущим статусом.** @@ -312,3 +314,17 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa Ожидаемые причины 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. + + +### Финальная проверка ON → OFF → ON + +Baseline normal scheme на `6e4e39e67c` ранее дал **8/8 PASS**. После добавления только OFF scheme/README на `543e37164b` выполнены оба shared schemes через `xcodebuild test-without-building -workspace DuckDuckGo.xcworkspace -scheme …` на тех же подписанных app/XCTest binaries: + +| Run | Результат | +|---|---| +| CPM Integration Tests - Fixes Disabled | **6 failed / 0 passed / 0 skipped / 0 expected failures**, exit 65 | +| CPM Integration Tests после OFF | **8 passed / 0 failed / 0 skipped / 0 expected failures**, exit 0 | + +У OFF все шесть failure records сопоставлены точным test names и ожидаемым функциональным причинам; никаких deallocation/setup failures или подмены через `XCTExpectFailure`. Возврат ON восстанавливает PASS для прежних P1/P2/install/upgrade, обоих late cases, edit veto и pixel adapter. SHA256 app debug dylib и XCTest binary неизменны до/после обоих runs, Swift sources не менялись относительно baseline harness. Remote config и production defaults не редактировались. + +Artifacts: **`/private/tmp/cpm-flag-controls-20261016/validation-summary.json`**, `off.xcresult`, `on.xcresult`, summaries, exported JSON evidence, `binary-hashes-before.json`, `pr-after.json`, source/branch verification. Это новая runtime-проверка переключения flags, без нового production build/unit run. Reviewer теперь выбирает два готовых schemes: не редактирует ENV вручную, не выбирает шесть methods и не переключает commits. Production PR и прежние P3/P5/natural-production/iOS ограничения сохраняются. diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index 1489000d..191536b0 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -6,6 +6,8 @@ tags: - cpm - status --- +> **Актуально — 16 октября 2026, reviewer ON → OFF → ON.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) восстановлена проверка выключенных production flags. Review-only branch **`codex/cpm-fix-init-loss-integration-tests` / `543e37164b`** содержит два schemes: **CPM Integration Tests** → 8 PASS; **CPM Integration Tests - Fixes Disabled** → ровно 6 functional FAIL; затем normal scheme → снова 8 PASS. Проверено на одних подписанных app/XCTest binaries, без пересборки и изменения Swift code. Production PR **`da126120a9`**, 2 commits / 21 files, не менялся; harness остаётся вне main (2 test-only commits / 12 paths). Пользовательские правки PR сохранены. Подробные результаты и artifacts — в конце; прежние односхемные steps и harness head `6e4e39e67c` относятся к истории. + > **Актуально — 16 октября 2026, harness вынесен из PR.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): **`alex/cpm-fix-init-loss` / `da126120a9`**, база #7376, **2 коммита / 21 файл**, production fixes + 18 новых shared unit regressions. Все local-only app tests, Xcode entries и DEBUG app hooks — только в **[`codex/cpm-fix-init-loss-integration-tests`](https://github.com/duckduckgo/apple-browsers/tree/codex/cpm-fix-init-loss-integration-tests) / `6e4e39e67c`**, один дочерний commit от PR head; **эта ветка не идёт в main**. Проверено: production app build PASS, unit **179 PASS**, harness app **8/8 PASS**, strict lint **19+8 / 0**. Reviewer steps в PR обновлены и пользовательские правки сохранены. Ниже сохранена датированная история; прежние 3 commits / 32 files и app harness в PR больше не актуальны. > **Актуальный итог — 16 октября 2026, после force push.** [PR #7379](https://github.com/duckduckgo/apple-browsers/pull/7379) теперь поверх **#7376** (`alex/cpm-messaging-readiness-telemetry`), head **`aec5be9a83`**, ровно **3 коммита / 32 файла**. Старый worktree `cpm-fix-init-loss` удалён; текущая директория `alex/cpm-fix-p1-p2` теперь на ветке `alex/cpm-fix-init-loss`. Checkpoint **`367759cbc1`** и backup старой истории сохранены. Проверка через production feature flags **без создания/переключения коммитов**: signed app **8/8 PASS ON**, **6/6 функциональных FAIL OFF**, unit **179 PASS**, strict lint **27 / 0**, pixel validators обеих платформ PASS. Новый late-reload flag **default disabled**. Описание PR/шаги и local-only `to-be-disabled before merge` annotations обновлены; GitHub CI ещё не объявляется green. Подробная финальная сверка — в конце документа. **Ниже сохранена датированная история: прежние «не закоммичено», старые head/base и over-budget limitation не являются текущим статусом.** @@ -1118,3 +1120,17 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa Ожидаемые причины 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. + + +### Финальная проверка ON → OFF → ON + +Baseline normal scheme на `6e4e39e67c` ранее дал **8/8 PASS**. После добавления только OFF scheme/README на `543e37164b` выполнены оба shared schemes через `xcodebuild test-without-building -workspace DuckDuckGo.xcworkspace -scheme …` на тех же подписанных app/XCTest binaries: + +| Run | Результат | +|---|---| +| CPM Integration Tests - Fixes Disabled | **6 failed / 0 passed / 0 skipped / 0 expected failures**, exit 65 | +| CPM Integration Tests после OFF | **8 passed / 0 failed / 0 skipped / 0 expected failures**, exit 0 | + +У OFF все шесть failure records сопоставлены точным test names и ожидаемым функциональным причинам; никаких deallocation/setup failures или подмены через `XCTExpectFailure`. Возврат ON восстанавливает PASS для прежних P1/P2/install/upgrade, обоих late cases, edit veto и pixel adapter. SHA256 app debug dylib и XCTest binary неизменны до/после обоих runs, Swift sources не менялись относительно baseline harness. Remote config и production defaults не редактировались. + +Artifacts: **`/private/tmp/cpm-flag-controls-20261016/validation-summary.json`**, `off.xcresult`, `on.xcresult`, summaries, exported JSON evidence, `binary-hashes-before.json`, `pr-after.json`, source/branch verification. Это новая runtime-проверка переключения flags, без нового production build/unit run. Reviewer теперь выбирает два готовых schemes: не редактирует ENV вручную, не выбирает шесть methods и не переключает commits. Production PR и прежние P3/P5/natural-production/iOS ограничения сохраняются. 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 243a1f30..851aad65 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,6 +6,8 @@ tags: - cpm - webkit --- +> **Актуально — 16 октября 2026, reviewer ON → OFF → ON.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) восстановлена проверка выключенных production flags. Review-only branch **`codex/cpm-fix-init-loss-integration-tests` / `543e37164b`** содержит два schemes: **CPM Integration Tests** → 8 PASS; **CPM Integration Tests - Fixes Disabled** → ровно 6 functional FAIL; затем normal scheme → снова 8 PASS. Проверено на одних подписанных app/XCTest binaries, без пересборки и изменения Swift code. Production PR **`da126120a9`**, 2 commits / 21 files, не менялся; harness остаётся вне main (2 test-only commits / 12 paths). Пользовательские правки PR сохранены. Подробные результаты и artifacts — в конце; прежние односхемные steps и harness head `6e4e39e67c` относятся к истории. + > **Актуально — 16 октября 2026, harness вынесен из PR.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): **`alex/cpm-fix-init-loss` / `da126120a9`**, база #7376, **2 коммита / 21 файл**, production fixes + 18 новых shared unit regressions. Все local-only app tests, Xcode entries и DEBUG app hooks — только в **[`codex/cpm-fix-init-loss-integration-tests`](https://github.com/duckduckgo/apple-browsers/tree/codex/cpm-fix-init-loss-integration-tests) / `6e4e39e67c`**, один дочерний commit от PR head; **эта ветка не идёт в main**. Проверено: production app build PASS, unit **179 PASS**, harness app **8/8 PASS**, strict lint **19+8 / 0**. Reviewer steps в PR обновлены и пользовательские правки сохранены. Ниже сохранена датированная история; прежние 3 commits / 32 files и app harness в PR больше не актуальны. > **Актуальный итог — 16 октября 2026, после force push.** [PR #7379](https://github.com/duckduckgo/apple-browsers/pull/7379) теперь поверх **#7376** (`alex/cpm-messaging-readiness-telemetry`), head **`aec5be9a83`**, ровно **3 коммита / 32 файла**. Старый worktree `cpm-fix-init-loss` удалён; текущая директория `alex/cpm-fix-p1-p2` теперь на ветке `alex/cpm-fix-init-loss`. Checkpoint **`367759cbc1`** и backup старой истории сохранены. Проверка через production feature flags **без создания/переключения коммитов**: signed app **8/8 PASS ON**, **6/6 функциональных FAIL OFF**, unit **179 PASS**, strict lint **27 / 0**, pixel validators обеих платформ PASS. Новый late-reload flag **default disabled**. Описание PR/шаги и local-only `to-be-disabled before merge` annotations обновлены; GitHub CI ещё не объявляется green. Подробная финальная сверка — в конце документа. **Ниже сохранена датированная история: прежние «не закоммичено», старые head/base и over-budget limitation не являются текущим статусом.** @@ -402,3 +404,17 @@ Local app suite, setup и dedicated scheme/README помечены **`to-be-disa Ожидаемые причины 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. + + +### Финальная проверка ON → OFF → ON + +Baseline normal scheme на `6e4e39e67c` ранее дал **8/8 PASS**. После добавления только OFF scheme/README на `543e37164b` выполнены оба shared schemes через `xcodebuild test-without-building -workspace DuckDuckGo.xcworkspace -scheme …` на тех же подписанных app/XCTest binaries: + +| Run | Результат | +|---|---| +| CPM Integration Tests - Fixes Disabled | **6 failed / 0 passed / 0 skipped / 0 expected failures**, exit 65 | +| CPM Integration Tests после OFF | **8 passed / 0 failed / 0 skipped / 0 expected failures**, exit 0 | + +У OFF все шесть failure records сопоставлены точным test names и ожидаемым функциональным причинам; никаких deallocation/setup failures или подмены через `XCTExpectFailure`. Возврат ON восстанавливает PASS для прежних P1/P2/install/upgrade, обоих late cases, edit veto и pixel adapter. SHA256 app debug dylib и XCTest binary неизменны до/после обоих runs, Swift sources не менялись относительно baseline harness. Remote config и production defaults не редактировались. + +Artifacts: **`/private/tmp/cpm-flag-controls-20261016/validation-summary.json`**, `off.xcresult`, `on.xcresult`, summaries, exported JSON evidence, `binary-hashes-before.json`, `pr-after.json`, source/branch verification. Это новая runtime-проверка переключения flags, без нового production build/unit run. Reviewer теперь выбирает два готовых schemes: не редактирует ENV вручную, не выбирает шесть methods и не переключает commits. Production PR и прежние P3/P5/natural-production/iOS ограничения сохраняются.