[2026-10-16] eagle: personal/projects/virfield.md work/projects/cpm-status-2026-10-15.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-16 00:22:29 +06:00
1 parent 2d065c86c2
commit 2da32738fb
2 files changed
+13 -3

No files matched your search

+10
View File
@@ -524,3 +524,13 @@ Strict SwiftLint запускался для восьми перечисленн
Минимальные seams: DEBUG-only AppDelegate factory, доступная лишь в `.integrationTests` при `CPM_APP_INTEGRATION=1`; необязательная `controllerConfiguration` у shared manager для изоляции data store (default production прежний). Контролируемые scoped faults меняют доставку настоящих autoconsent messages в extracted test copy; они не являются доказательством естественной причины production-событий.
Xcode bootstrap: исходный frozen lockfile отсутствовал на workspace-level; resolver подготовил зависимости. Попытка ad-hoc build упёрлась в provisioning app/VPN/helpers; начата unsigned build. В sandbox Xcode ошибочно объявлял существующий workspace не-workspace из-за доступа к build services, повтор выполняется с разрешённым доступом. Strict SwiftLint новых 6 Swift + 2 seams: 0 violations (`--no-cache`). Исполнение новых integration tests ещё не подтверждено; результаты будут дописаны после сборки.
### App host bootstrap: проверенные блокеры и границы, 16 октября
Unsigned app/test bundle успешно собран (`build-app-integration-2.log`), но первый запуск не дошёл до XCTest: stack sample остановился в `ConfigurationStore.loadData → NSFileCoordinator → open` shared app-group config. Тестовый host остановлен отдельно, без `killall` и без очистки профиля. Добавлен отдельный directory initializer `ConfigurationStore`, прежний initializer сохранён; только при DEBUG + `.integrationTests` + CPM opt-in AppDelegate использует собственный temporary configuration cache и test defaults. Production default не меняется. Промежуточные compile/link ошибки из-за type inference/incremental symbol устранены; `build-app-integration-5.log` — TEST BUILD SUCCEEDED.
Повтор `baseline-2.xcresult` дошёл до реального XCTest и штатного `cpm_background_ready_context_load` (`under_1s`, ctx_load_to_view `under_250ms`). Затем создание настоящего Tab упёрлось в независимый сервис: `SpecialPagesUserScript → OnboardingActionsManager → SecureVaultFactory.makeVault`; main thread ждал lock, background `CredentialsDatabaseCleaner` ждал `SecItemCopyMatching`/SecurityServer. Это блокировка unsigned host при доступе к Keychain, не CPM failure и не зелёный baseline. Отдельный test process остановлен; пользовательское запущенное приложение не останавливалось.
Для suite добавлен DEBUG-only `SecureVaultFactory.isDisabledForIntegrationTesting`; `AppMain` выставляет его до создания app environment лишь для `.integrationTests` + CPM opt-in. Autofill/vault этим suite не тестируется и Keychain для него не требуется; monitor, Tab/navigation, native CPM и WebKit остаются production. Выполняется пересборка. Первый и второй запуск пока считаются bootstrap failures, не результатами новых CPM assertions. В коде уже 18 отдельных сценариев, включая M4 recovery и embedded-only negative control; P3 persistent cache / естественная утрата listener / iOS остаются отдельными непроверенными здесь областями.
После DEBUG-only vault isolation `baseline-3.xcresult` дошёл до реального `Tab.willStart` для HTTP fixture, где сработал существующий `fatalError`: обычным integration tests разрешён только WKURLSchemeHandler, настоящая HTTP-навигация запрещена. Добавлено узкое DEBUG-исключение: `.integrationTests` + `CPM_APP_INTEGRATION=1` + host `127.0.0.1`. Удалённые hosts и остальные suites сохраняют прежнюю защиту. Это требование инфраструктуры для настоящего HTTP и штатных navigation callbacks; это не CPM fix. Baseline №3 — infrastructure failure, не доказательство сбоя расширения. Пересборка и повтор продолжаются.