[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
This commit is contained in:
1 parent
9a5a6b89de
commit
b7ad0bd78e
3 files changed
+23
-14
No files matched your search
@@ -1,4 +1,4 @@
|
||||
> **Актуально — 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. Новый signed-app detection-only case и ON 9 → OFF 6 → ON 9 выполняются; app результат пока не заявлен. Формы не менялись, late reload flag default disabled. Подробные условия/ограничения и artifacts — в разделе «19 октября 2026 — P4 detection независимо от late-document reload». Более ранние heads/results сохранены как история.
|
||||
> **Актуально — 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 сохранены как история.
|
||||
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. На новом app head проверено на одних подписанных бинарниках: **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips/expected failures; все app/XCTest SHA256 совпали. CI `e970e8c90e`: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
@@ -453,7 +453,10 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS /
|
||||
- Покрыты OFF без preflight/reload closure, обе очередности timeout/readiness, once-per-document и несколько табов, idle wake exclusion, healthy/navigation/cancel/invalidate/failed/expired exclusions, независимость detection/recovery outcomes и PIIFree daily/count metadata.
|
||||
- Production strict lint: **6 изменённых Swift files / 0 violations**; harness strict lint: **2 / 0**. macOS/iOS pixel definitions и обе wide-event validation/schema immutability проверки **PASS**.
|
||||
- Полные **signed macOS** и **iOS Simulator app builds PASS**. Обычная Apple Development signing сохранена.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие recovery outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **App ON/OFF/ON: выполняется; результат ещё не заявлен.** Normal scheme содержит 9 методов; OFF scheme — прежние шесть функциональных recovery controls. Новый detection-only positive case исполняется normal scheme с late recovery flag OFF. Setup/host errors не считаются ожидаемыми functional failures.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие late_document_reload outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **Signed app ON 9 PASS → OFF 6 functional FAIL → ON 9 PASS**, без skips/expected failures, на одних бинарниках. `app-on.xcresult`, `app-off.xcresult`, `app-restored.xcresult` и их summaries/attachments сохранены. SHA256 app debug dylib = `7d3a3c9f1a772a24b2e502a3e8f07db78603e8a4d44a9cfd68de12f2f9dca52e`; XCTest executable = `4c28d4bf9a69ccd4f0c24b67d25bf5b492d47a68f343270bfc74a7505071194a`, до OFF / после OFF / после ON совпали.
|
||||
- Новый detection-only positive case **дважды PASS при late recovery flag OFF**: реальный first-document timeout, detection = 1, finishCount = 1, отсутствуют `late_document_reload` outcomes; следующая ручная навигация получает native dashboard и page initResp, счётчик остаётся 1. Доказательства: `detection-only-evidence.json`, ON attachment `9567542F-EF42-4C5A-8FFC-ACF716ABC09F.json`, restored attachment `CA7E1D06-9140-4D8E-B119-363B43D4CA8B.json`.
|
||||
- Все шесть OFF failures проверены по именам и причинам: install/upgrade/slow wake теряют первый ответ, P2 получает настоящий WebKit **error 6** и timeout same-document recovery, late install/upgrade получают timeout автоматического восстановления. **Оба late OFF controls дали detection = 1 и ни одного late reload event.** Setup/host failures не использованы как red controls. Доказательства: `off-control-evidence.json`, `validation-summary.json`.
|
||||
- **CI production head `fc87237a47`: 48 SUCCESS / 21 SKIPPED, pending и failures нет.** PR head/base/description проверены чтением после публикации; `pr-final.json`. Worktree чистый и возвращён на `alex/cpm-fix-init-loss`; обе локальные ветки совпадают с origin.
|
||||
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles, `detection-only-evidence.json`, `off-control-evidence.json`, `validation-summary.json`, три SHA256 snapshots, `pr-final.json`. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
@@ -6,7 +6,7 @@ tags:
|
||||
- cpm
|
||||
- status
|
||||
---
|
||||
> **Актуально — 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. Новый signed-app detection-only case и ON 9 → OFF 6 → ON 9 выполняются; app результат пока не заявлен. Формы не менялись, late reload flag default disabled. Подробные условия/ограничения и artifacts — в разделе «19 октября 2026 — P4 detection независимо от late-document reload». Более ранние heads/results сохранены как история.
|
||||
> **Актуально — 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 сохранены как история.
|
||||
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. На новом app head проверено на одних подписанных бинарниках: **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips/expected failures; все app/XCTest SHA256 совпали. CI `e970e8c90e`: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
@@ -66,7 +66,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 `fc87237a47` | **#7376 / telemetry** | install/upgrade + P1/P2 + late GET recovery, 5 fix pixels + independent P4 candidate daily/count; 36 новых shared regressions, 197 PASS; detection при late flag OFF без reload/safety JS; формы отложены | OPEN, 7 commits / 22 paths; normal push выполнен, macOS/iOS builds, pixels/lint PASS. Review-only harness `475095b335`, 12 paths вне main; signed-app ON 9 → OFF 6 → ON 9 выполняется |
|
||||
| [#7379 — актуально 19 Oct](https://github.com/duckduckgo/apple-browsers/pull/7379) | `alex/cpm-fix-init-loss`, worktree `alex/cpm-fix-p1-p2`; local/remote `fc87237a47` | **#7376 / telemetry** | install/upgrade + P1/P2 + late GET recovery, 5 fix pixels + independent P4 candidate daily/count; 36 новых shared regressions, 197 PASS; detection при late flag OFF без reload/safety JS; формы отложены | OPEN, 7 commits / 22 paths; normal push выполнен, macOS/iOS builds, pixels/lint PASS. Review-only harness `475095b335`, 12 paths вне main; на одних signed binaries ON 9 PASS → OFF 6 functional FAIL → ON 9 PASS; detection-only OFF PASS дважды; CI 48 SUCCESS / 21 SKIPPED, завершён |
|
||||
| [#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 |
|
||||
|
||||
@@ -1259,7 +1259,10 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS /
|
||||
- Покрыты OFF без preflight/reload closure, обе очередности timeout/readiness, once-per-document и несколько табов, idle wake exclusion, healthy/navigation/cancel/invalidate/failed/expired exclusions, независимость detection/recovery outcomes и PIIFree daily/count metadata.
|
||||
- Production strict lint: **6 изменённых Swift files / 0 violations**; harness strict lint: **2 / 0**. macOS/iOS pixel definitions и обе wide-event validation/schema immutability проверки **PASS**.
|
||||
- Полные **signed macOS** и **iOS Simulator app builds PASS**. Обычная Apple Development signing сохранена.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие recovery outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **App ON/OFF/ON: выполняется; результат ещё не заявлен.** Normal scheme содержит 9 методов; OFF scheme — прежние шесть функциональных recovery controls. Новый detection-only positive case исполняется normal scheme с late recovery flag OFF. Setup/host errors не считаются ожидаемыми functional failures.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие late_document_reload outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **Signed app ON 9 PASS → OFF 6 functional FAIL → ON 9 PASS**, без skips/expected failures, на одних бинарниках. `app-on.xcresult`, `app-off.xcresult`, `app-restored.xcresult` и их summaries/attachments сохранены. SHA256 app debug dylib = `7d3a3c9f1a772a24b2e502a3e8f07db78603e8a4d44a9cfd68de12f2f9dca52e`; XCTest executable = `4c28d4bf9a69ccd4f0c24b67d25bf5b492d47a68f343270bfc74a7505071194a`, до OFF / после OFF / после ON совпали.
|
||||
- Новый detection-only positive case **дважды PASS при late recovery flag OFF**: реальный first-document timeout, detection = 1, finishCount = 1, отсутствуют `late_document_reload` outcomes; следующая ручная навигация получает native dashboard и page initResp, счётчик остаётся 1. Доказательства: `detection-only-evidence.json`, ON attachment `9567542F-EF42-4C5A-8FFC-ACF716ABC09F.json`, restored attachment `CA7E1D06-9140-4D8E-B119-363B43D4CA8B.json`.
|
||||
- Все шесть OFF failures проверены по именам и причинам: install/upgrade/slow wake теряют первый ответ, P2 получает настоящий WebKit **error 6** и timeout same-document recovery, late install/upgrade получают timeout автоматического восстановления. **Оба late OFF controls дали detection = 1 и ни одного late reload event.** Setup/host failures не использованы как red controls. Доказательства: `off-control-evidence.json`, `validation-summary.json`.
|
||||
- **CI production head `fc87237a47`: 48 SUCCESS / 21 SKIPPED, pending и failures нет.** PR head/base/description проверены чтением после публикации; `pr-final.json`. Worktree чистый и возвращён на `alex/cpm-fix-init-loss`; обе локальные ветки совпадают с origin.
|
||||
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles, `detection-only-evidence.json`, `off-control-evidence.json`, `validation-summary.json`, три SHA256 snapshots, `pr-final.json`. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
@@ -6,7 +6,7 @@ tags:
|
||||
- cpm
|
||||
- webkit
|
||||
---
|
||||
> **Актуально — 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. Новый signed-app detection-only case и ON 9 → OFF 6 → ON 9 выполняются; app результат пока не заявлен. Формы не менялись, late reload flag default disabled. Подробные условия/ограничения и artifacts — в разделе «19 октября 2026 — P4 detection независимо от late-document reload». Более ранние heads/results сохранены как история.
|
||||
> **Актуально — 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 сохранены как история.
|
||||
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. На новом app head проверено на одних подписанных бинарниках: **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips/expected failures; все app/XCTest SHA256 совпали. CI `e970e8c90e`: **48 SUCCESS / 21 SKIPPED**, pending/failures нет. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
@@ -37,7 +37,7 @@ tags:
|
||||
| `cpm-repro-harness` | `alex/cpm-repro-harness`; `dfb96279196d` | PR #7378: базовый harness, быстрые CI-контроли, медленные сценарии и raw WebKit characterization; без новых P5/P6 |
|
||||
| `cpm-fix-init-loss` — историческая строка; worktree удалён 16 Oct | `alex/cpm-fix-init-loss`; `7ad771e227bb` | PR #7379: A, первые init при install/upgrade mid-session; красное/зелёное доказательство отдельно от remaining-failures |
|
||||
| **`alex/cpm-fix-p1-p2` — актуально 19 Oct** | **`alex/cpm-fix-init-loss`; local/remote `fc87237a47`** | PR #7379 / база #7376: 7 commits / 22 paths, 36 новых shared tests, 197 PASS. Independent P4 candidate detection при late flag OFF без reload/safety JS; deadline/attribution/uninstall fixes сохранены; формы отложены, late flag default disabled; builds/pixels/lint PASS |
|
||||
| — (отдельная ветка, без своего worktree) | **`codex/cpm-fix-init-loss-integration-tests`; local/remote `475095b335`** | Синхронизирована с production `fc87237a47`, README: 36 новых shared tests; 9 app methods, включая detection-only с late flag OFF; ON/OFF schemes, PBX + 3 DEBUG app hooks; 12 paths вне main. Signed-app ON 9 → OFF 6 → ON 9 выполняется |
|
||||
| — (отдельная ветка, без своего worktree) | **`codex/cpm-fix-init-loss-integration-tests`; local/remote `475095b335`** | Синхронизирована с production `fc87237a47`, README: 36 новых shared tests; 9 app methods, включая detection-only с late flag OFF; ON/OFF schemes, PBX + 3 DEBUG app hooks; 12 paths вне main. На одних signed binaries ON 9 PASS → OFF 6 functional FAIL → ON 9 PASS; detection-only при late flag OFF PASS дважды; SHA256 совпали |
|
||||
| `cpm-fix-network-crash` | `alex/cpm-fix-network-crash`; local `f1085846e7ff` | B поверх A; 5 network/termination сценариев в FullFailure + 11 watchdog unit tests. Remote PR #7381 остаётся на `39f94e12eaa4`, красный Non-Sandbox; локальный fix не запушен |
|
||||
| `cpm-fix-pixels` | `alex/cpm-fix-pixels`; `d6d800846d1f` | A/B + PR0, измерение `first_load_wait`/`background_restart`; отдельный PR не зарегистрирован в текущем статусе |
|
||||
| `alex/cpm-messaging-readiness-telemetry` | та же; `619869ee84c6` | PR0 #7376: readiness/failure/recovery параметры, CI без failure/pending, review required |
|
||||
@@ -543,7 +543,10 @@ CI опубликованного **`e970e8c90e` завершён: 48 SUCCESS /
|
||||
- Покрыты OFF без preflight/reload closure, обе очередности timeout/readiness, once-per-document и несколько табов, idle wake exclusion, healthy/navigation/cancel/invalidate/failed/expired exclusions, независимость detection/recovery outcomes и PIIFree daily/count metadata.
|
||||
- Production strict lint: **6 изменённых Swift files / 0 violations**; harness strict lint: **2 / 0**. macOS/iOS pixel definitions и обе wide-event validation/schema immutability проверки **PASS**.
|
||||
- Полные **signed macOS** и **iOS Simulator app builds PASS**. Обычная Apple Development signing сохранена.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие recovery outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **App ON/OFF/ON: выполняется; результат ещё не заявлен.** Normal scheme содержит 9 методов; OFF scheme — прежние шесть функциональных recovery controls. Новый detection-only positive case исполняется normal scheme с late recovery flag OFF. Setup/host errors не считаются ожидаемыми functional failures.
|
||||
- App fixture: новый `CPMBackgroundRecoveryIntegrationTests.testLateStartupIsDetectedWithRecoveryDisabledWithoutReload` явно выключает production late recovery flag, задерживает реальный background startup на 8 секунд, требует реальный dashboard timeout, detection count = 1, один finish исходного документа, отсутствие late_document_reload outcomes и здоровую следующую ручную навигацию. P1/P2 fixture также проверяет, что idle wake не увеличивает P4 counter; pixel adapter проверяет имя/частоту/параметры.
|
||||
- **Signed app ON 9 PASS → OFF 6 functional FAIL → ON 9 PASS**, без skips/expected failures, на одних бинарниках. `app-on.xcresult`, `app-off.xcresult`, `app-restored.xcresult` и их summaries/attachments сохранены. SHA256 app debug dylib = `7d3a3c9f1a772a24b2e502a3e8f07db78603e8a4d44a9cfd68de12f2f9dca52e`; XCTest executable = `4c28d4bf9a69ccd4f0c24b67d25bf5b492d47a68f343270bfc74a7505071194a`, до OFF / после OFF / после ON совпали.
|
||||
- Новый detection-only positive case **дважды PASS при late recovery flag OFF**: реальный first-document timeout, detection = 1, finishCount = 1, отсутствуют `late_document_reload` outcomes; следующая ручная навигация получает native dashboard и page initResp, счётчик остаётся 1. Доказательства: `detection-only-evidence.json`, ON attachment `9567542F-EF42-4C5A-8FFC-ACF716ABC09F.json`, restored attachment `CA7E1D06-9140-4D8E-B119-363B43D4CA8B.json`.
|
||||
- Все шесть OFF failures проверены по именам и причинам: install/upgrade/slow wake теряют первый ответ, P2 получает настоящий WebKit **error 6** и timeout same-document recovery, late install/upgrade получают timeout автоматического восстановления. **Оба late OFF controls дали detection = 1 и ни одного late reload event.** Setup/host failures не использованы как red controls. Доказательства: `off-control-evidence.json`, `validation-summary.json`.
|
||||
- **CI production head `fc87237a47`: 48 SUCCESS / 21 SKIPPED, pending и failures нет.** PR head/base/description проверены чтением после публикации; `pr-final.json`. Worktree чистый и возвращён на `alex/cpm-fix-init-loss`; обе локальные ветки совпадают с origin.
|
||||
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
Локальные artifacts: `/private/tmp/cpm-p4-detection-20261019/`: `unit.log`, `unit-evidence.json` (96 production source files byte-identical), `lint.log`, `harness-lint.log`, четыре pixel validation logs, `mac-build.log`, `ios-build.log`, `context-identity.log`, `heads.json`, `pr-body.md`, app result bundles, `detection-only-evidence.json`, `off-control-evidence.json`, `validation-summary.json`, три SHA256 snapshots, `pr-final.json`. Исторические результаты предыдущего head `e970e8c90e` (190 / 8→6→8) выше/ниже сохранены и не являются результатами нового head.
|
||||
Reference in new issue
Block a user