[2026-10-16] eagle: work/projects/cpm-pr0-episode-telemetry-summary-2026-10-16.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-16 18:55:34 +06:00
1 parent 72d8263169
commit 80a1a7527a
1 file changed
+7 -3
@@ -43,9 +43,9 @@ Both platforms use `daily+count` (`.dailyAndCount`). The first completed episode
- `response_after`: elapsed time since the first failure, bucketed as `under_30s`, `30s_to_1m` or `1m_to_deadline`. Omitted for the no-response outcome.
**Parameters to add (not implemented yet):**
**Four added background-load parameters:**
Port and adapt four fields from `alex/cpm-messaging-readiness-telemetry`:
Ported and adapted from `alex/cpm-messaging-readiness-telemetry`:
- `bg_ready_after` — whether background loading is pending, failed or complete. Values: `none` (no background view), `pending`, `failed`, or completion-time buckets `under_1s`, `1s_to_4s`, `4s_to_10s`, `10s_to_30s`, `over_30s`. Separates a background still starting from one already ready.
@@ -55,7 +55,11 @@ Port and adapt four fields from `alex/cpm-messaging-readiness-telemetry`:
- `bg_load_error_app_state` — app state when that error occurred: `active`, `inactive` or `background` (macOS: active/inactive). Helps distinguish foreground failures from background suspension conditions.
Capture these values in the first-failure snapshot and send them in the same terminal episode report, retaining `daily+count`. Omit unavailable values. Send the two error fields only for error 6 attributed to the corresponding background-load attempt, rather than any historical error in the context. Check the added fields' combined distinguishability with the retained `bg_events`.
These values are captured in the first-failure snapshot and sent in the same terminal episode report, retaining `daily+count`. Unavailable values are omitted. The two error fields describe only the first newly observed error 6 for the corresponding background-load attempt. Repeated error-list notifications preserve its original time and app state; a replacement view/context clears that attribution. Errors seen before any view was created do not qualify.
Readiness observation shares the existing `cpmBackgroundDelegateProxy` switch. It calls the public `loadBackgroundContent` API on the next main-queue turn after a new view is created. Disabling observation invalidates pending callbacks; reenabling on an existing view leaves readiness unknown until the next view creation. Error 6 also marks the observed load failed if WebKit never completes its load callback. Later readiness changes and errors do not replace the episode's first-failure snapshot.
The added fields' combined distinguishability with the retained `bg_events` still needs checking.
`app_state` and `open_tabs` remain deferred to targeted startup/no-view diagnostics; `loading_tabs` is not planned for this change. These additions do not change the four-second detector or add page-side `initResp` acknowledgement.