[2026-10-15] eagle: personal/projects/balda/execution-broker.md personal/projects/personal-os/personal-os-status-2026-10.md personal/projects/virfield.md personal/tech/agents-bridge.md work/projects/cpm-telemetry-data-requirements-2026-10-15.md work/projects/macos-cloud-autofix-plan-2026-10-15.md
This commit is contained in:
1 parent
c2d051e8e5
commit
f1828051d0
6 files changed
+26
-5
No files matched your search
@@ -74,6 +74,7 @@ tags:
|
||||
| **новое:** `bg_died_reason`, `base_url_changed` | смерть процесса, очистка при смене baseURL | PR0 |
|
||||
| **новое:** мелкие корзины `app_launch_age` для первых 30 с | гонка на запуске | PR0 |
|
||||
| **новое на stuck:** `stuck_after` | сколько от первого сбоя до stuck | PR0 |
|
||||
| **новое, срочно:** `network_replaced_since_view` (PID Network-процесса при последнем создании view ≠ текущему) | `network_restarted` сравнивает PID с загрузкой *контекста*, не с последним view: порядок восстановить нельзя, поэтому доля реальных «мёртвых worker'ов» в когорте B неизвестна. Рекордер уже вычисляет это (`CPMMessagingDiagnosticsRecorder.swift:285-289`), но только логирует. Предложено 8 октября как «самое дешёвое и самое ценное», **ни в одной ветке не реализовано** | PR0 |
|
||||
| `init_stage` | дошёл ли init до background | #7385 (срочно) |
|
||||
| `cpm_background_ready_{context_load,wake}` | базлайн здоровых загрузок и пробуждений | #7384 |
|
||||
| `background_restart` (причина, исход), `first_load_wait` | эффект фиксов B и A | удержанная ветка |
|
||||
@@ -106,3 +107,19 @@ multiIf(
|
||||
'7_other')
|
||||
-- параметры: network_restarted, context_errors, bg_view_creations, tab_has_ext_scripts, bg_events (decodeURLComponent)
|
||||
```
|
||||
|
||||
## Картины из данных, которые НЕ воспроизведены (сверка с тестами)
|
||||
|
||||
Воспроизведено локально (worktree `alex/cpm-web-extension-remaining-failures` и harness): падение Network-процесса и смерть worker'а (красные на `main`, 5/5 итераций), мид-сессионная первая загрузка (A), error 6 через заморозку нового процесса background на ≥30 с при пробуждении (macOS, корзина 25–35 с), задержка инъекции из-за очистки при смене `baseURL` (macOS, большой кэш, около 10 минут заполнения), медленный старт worker'а на 5 с и 12 с (инъекция занятости).
|
||||
|
||||
Не воспроизведено или воспроизведено только частично:
|
||||
|
||||
| Картина | Статус | Пробел |
|
||||
|---|---|---|
|
||||
| Когорта «Network заменён» | механизм воспроизведён (краш, worker мёртв при том же view) | по данным нельзя сказать, какая доля строк это он: `network_restarted` сравнивается с загрузкой контекста. Заметка 8 октября: механизм объясняет 20–45% «здоровых» stuck |
|
||||
| iOS error 6, главная последовательность `proxy_on>dealloc>view>proxy_on>error_E:6` без `unresponsive`, циклы `error>dealloc>view>proxy_on>error`, `died_crash → error 6` | на macOS воспроизведено заморозкой (цепочка там содержит `unresponsive`); на iPhone 26.7.1 в четырёх сценариях нет; убийство background во время загрузки в harness error 6 не даёт | реальный триггер на iOS неизвестен |
|
||||
| Пробуждение (P1) | только с искусственной занятостью worker'а; органическое пробуждение в тестах проходит | причина реальной медлительности неизвестна |
|
||||
| P5: фон выгружен в момент сбоя (хвост на `dealloc`) | не воспроизведено | неясно, как WebKit выгружает новый view повторно до прихода сообщения |
|
||||
| iOS «нет view» на запуске (восстановление сессии, `load` без view) | не воспроизведено: холодный старт в harness отвечает за миллисекунды; задержка очистки есть только при большом кэше на macOS | гонка запуска на iOS не проверена |
|
||||
| macOS: вкладка без расширения (неверный controller, нет scripts) | не воспроизведено, сценария нет | фиксы привязку вкладки не трогают |
|
||||
| «Здоровый» остаток без смены Network (iOS 12.5%, macOS 22%, и часть пробуждений со старым view) | нет гипотезы | `init_stage`, `bg_view_age` |
|
||||
@@ -54,7 +54,7 @@ Legend: ✅ confirmed by a source, ⚠️ not verified / needs a spike.
|
||||
|
||||
**Personal OS / Executor** (3 attempts, 2026-04…10):
|
||||
- Executor v1 (autonomous LLM orchestrator) → **incident** (wrote to Asana, task data leaked to Discord). Executor v2 (bash runner/analyzer + 5 worker prompts: queued / in_progress / fix_ci / fix_comments / pr_review; state machine `queued→in_progress→pr→complete/abandoned`; no-output watchdog 30 min, hard limit 3 h; lockfile; analyzer filters) was implemented, but the crons are paused.
|
||||
- Cross-cutting lessons: (1) **the deterministic layer worked, the agentic one did not**; (2) an agent must not write to external systems or have an outbound channel carrying work data, and human-in-the-loop is a mandatory gate; (4) weak hardware cannot carry an agent stack; (7) the model provider is config, not architecture; Codex bwrap does not start in Docker; do not proxy subscription OAuth tokens.
|
||||
- Cross-cutting lessons: (1) **the deterministic layer worked, the agentic one did not**; (2) an agent must not write to external systems or have an outbound channel carrying work data, and human-in-the-loop is a mandatory gate; (4) weak hardware cannot carry an agent stack; (7) the model provider is config, not architecture; Codex bwrap failed under the default Docker isolation; the personal Broker later accepted Story/restart/denied-write on its opt-in `nested-v1` host/profile with enforced AppArmor and seccomp (2026-10-15; [[personal/projects/balda/execution-broker]]). That scoped result does not qualify another host or this proposed company flow. Do not proxy subscription OAuth tokens.
|
||||
|
||||
**Test fixes of 2026-10-14** ([[work/projects/macos-tests-worktrees-2026-10-14]]) — a ready quality reference and eval set:
|
||||
- AddressBarTests: root cause = `ensureObjectDeallocated(.interrupt)` sends SIGINT while an object is still alive; two causes (autorelease in `TestRunHelper`, strong `self` in an animation completion). Validation: **main 10/10 FAIL → fix 15/15 PASS**, 7/7 isolated, full Integration ×2.
|
||||
|
||||
Reference in new issue
Block a user