[2026-10-28] eagle: work/projects/cpm-post-release-analysis-2026-10-27.md
This commit is contained in:
1 parent
a860ac9805
commit
28da4dc299
1 file changed
+1
@@ -372,3 +372,4 @@ Re-cut of the post-release data (macOS 1.213.x, 26–27 Oct, matured since the s
|
||||
- **Weak evidence against, kept for the record:** per-OS correlation of error pages per install with wake episodes per install is r = 0.02 (n = 9); hourly r = 0.88 for both wake and non-wake (rollout trend, uninformative).
|
||||
- **Unverified:** the running app (the scenario with `log stream --level debug --predicate 'subsystem == "WebExtensions" AND eventMessage CONTAINS "CPM Health Monitor"'`: three tabs idle >30 s, load a dead host in each, expect `timeoutElapsed` without `Dashboard response attributed`); iOS error pages; the share of wake episodes that are error pages (the episode pixel has no URL or error code).
|
||||
- **Decisive options:** (a) macOS build where the monitor ignores error documents (`.alternateHtmlLoad` / failed provisional navigations) and M4 never fires for them; compare wake share and permanent rate with the current build; (b) a flag parameter on the episode pixel (needs the privacy review you wanted to avoid).
|
||||
- **Filter implemented (28 Oct, uncommitted, not pushed):** worktree `apple-browsers.git/cpm-error-page-filter`, branch `alex/cpm-error-page-filter` from `8023e4cb5c`. New `CPMNavigationKind.errorPage`; `CPMMessagingHealthMonitor` does not measure a commit/finish of a tab whose current navigation is `.errorPage` (`commitNavigation`, `finishNavigation`), so no timeout, no episode and no M4 for it; macOS `Navigation.cpmMessagingNavigationKind` returns `.errorPage` for `.alternateHtmlLoad` (`PrivacyDashboardTabExtension.swift`). Tests: two monitor unit tests (`testErrorPageIsNotMeasured`, `testNavigationAfterErrorPageIsMeasured`) and the harness `CPMReproErrorPageTests` (3 tests, `CPM_REPRO=1`), all green; the same harness tests failed (`other / failed_tab_response / tabs=1`) before the change, and with it the background still wakes at the navigation but no episode is counted. SwiftLint strict: 0 violations. Not done: iOS error pages (no `loadAlternateHTML` path found on iOS; not checked how they are shown), running the real app, comparing wake share between builds.
|
||||
Reference in new issue
Block a user