[2026-10-16] 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
ed6b085966
commit
2b0c401b6d
3 files changed
+47
No files matched your search
@@ -243,3 +243,17 @@ Worktree `cpm-e2e-init`, HEAD всё ещё `46f25175c7c42766cab23ea39f447f075c7
|
||||
|
||||
|
||||
**Финальная сверка P1/P2, 16 октября 12:30 UTC:** работа завершена без commits. `validation-summary.json`: **22/22 уникальных app methods PASS**, positive groups 2+19+1+1 (P2 повторён), 0 failures/skips/expected failures; оба disabled-fix controls functional FAIL. `unit-package-background-retry.log`: 806 / 14 skipped / 0 failures; strict lint 6 файлов — 0 violations. Source hashes после сборки не менялись, прежние dirty files/ZIP сохранены. Окончательный P2 — background-only retry и same-document native+page recovery, **не context replacement**. Предыдущая full-reset реализация отвергнута после повторной потери page initResp. Current patch — `/private/tmp/cpm-p1-p2-fixes-20261016/point-fixes.diff`; P5 ожидает дополнительный view от P1, P3 остаётся отрицательным на 20,000 resources. Cache assertions прошли, но teardown снова имеет известный SQLite vnode warning для owned UUID. Подробная проверенная матрица/ограничения и весь red-history — [[cpm-status-2026-10-15]].
|
||||
|
||||
|
||||
## Отдельный worktree P1/P2 — 16 октября 2026
|
||||
|
||||
`/Users/admin/DuckDuckGo/apple-browsers.git/alex/cpm-fix-p1-p2`, branch `alex/cpm-fix-p1-p2`, от `alex/cpm-messaging-readiness-telemetry` (`01d4a0ec22`), без коммитов. Отличается от полного scratch research-набора:
|
||||
|
||||
- `WebExtensionLifecycleCoordinator.initialLoadWaiter`: после launch открывает ограниченное 5 s ожидание background wake; cancellation-safe AsyncStream, существующий gate flag.
|
||||
- `WebExtensionManager.prepareEmbeddedBackgroundForNavigation` / `loadEmbeddedExtensionBackgroundContent`: один startup job на конкретный context object, public WK callback, release pending callers при error/reload.
|
||||
- Observer `WKWebExtensionContext.errorsDidUpdateNotification` / `recoverEmbeddedBackgroundLoadFailure`: error 6 только своего embedded context, существующий recovery flag, current background guard, throttle 60 s; повтор background load без context replacement. M4 reload остаётся fallback.
|
||||
- Recorder `isApplicationInBackground`: читает уже существующий appSession lifecycle provider, не добавляет telemetry dimension.
|
||||
- `macOS/IntegrationTests/CPM/`: пять Swift-файлов, ровно два app-теста `CPMBackgroundRecoveryIntegrationTests`, сокращённая инфраструктура; схема `CPM Integration Tests`. Реальные app windows/tabs/native handlers/WebKit, неизменный bundled ZIP, extracted startup-delay и page initResp observation, SIGSTOP только своего background PID. Scoped drop/cache/Network/P3/P5 сценарии остались в research worktree.
|
||||
- Четыре новых метода `WebExtensionLifecycleCoordinatorTests`: wake после launch, bounded non-cancellable callback, cancellation, disabled flag. Всего 6 новых test methods; 22 — весь прежний app-набор.
|
||||
|
||||
Текущая база уже перешла на episode contract. Test-only diagnostics proxy фиксирует реальный first-failure вызов, не синтезируя monitor events. P2 требует terminal `failed_measurement_response` / `reload_state=none` плюс page initResp исходного документа до другой навигации и ту же context identity. Signed app 2/2 PASS; unit 31+134=165 PASS; strict lint 14 files / 0 violations. Оба disabled-flag контроля на той же сборке функционально FAIL. Test autorelease pools исправили deallocation guard без отключения проверок. Source hashes и исходный scratch неизменны; schemas/ZIP/dependencies в diff не менялись. Артефакты и полная история: `/private/tmp/cpm-p1-p2-clean-20261016/validation-summary.json`, [[cpm-status-2026-10-15]]. Границы P1 cap / macOS injection / неустановленного natural iOS trigger сохраняются.
|
||||
Reference in new issue
Block a user