diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index f3e75e8f..e6fa6c17 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -12,7 +12,7 @@ tags: --- # Virfield — текущее состояние -Актуальный checkpoint 2026-10-15: installed code `a1a6bd96913189809fb6f81ae4f059698f327de6`, version `0.0.0-standard-account-inventory`, daemon PID87631. В remote опубликован `cab85c5` (включая runtime fix `a1a6bd9`); новый F4 source находится в рабочем дереве и пока не установлен. Ветка `codex/retire-lume-release-hardening`, main/tags/release не менялись. Пользователь явно разрешил push проверенных результатов в рабочую ветку на всю сессию. Archive SHA256 `a651e881f16a758a3235100072173158ffae5153b67ab578cbd92387c24ca55e`; private backup, прежняя signing/FDA identity, config/keys и 8 image manifests сохранены (7 исходных+новый кандидат). Source CI/race, Staticcheck0.7.0, Govulncheck1.6.0/0reachable, Gitleaks8.30.1/235commits PASS; итоговые docs отдельно links97/diffcheck/Go MCP race PASS. Exact installed HTTP/freshstdio all4runbooks/resources/status/anonymous401 PASS1.01sec. Фактический owning MCP этого чата отвечает, но все4текста не совпадают с установленным пакетом; запрос Restart Virfield MCP остаётся без ответа. Private attestation `/private/tmp/virfield-owning-mcp-a1a6-docs-attestation-20261015.json`. +Актуальный checkpoint 2026-10-16: installed/pushed code `3d667d27687d58a7f8178feee2f90f5349143323`, version `0.0.0-local-golden-transfer`, daemon PID26451. Ветка `codex/retire-lume-release-hardening`, main/tags/release не менялись. Пользователь явно разрешил push проверенных результатов в рабочую ветку на всю сессию. Archive SHA256 `e83d06b3b9fa90c95b69372b20329b5a34ce8fad6d78f4e1be0ae8f30f903efd`; private backup, прежняя signing/FDA identity, config/keys и 8 baseline image manifests сохранены. Schema8 startup создал verified schema7 snapshot; откат старого binary требует совместимого snapshot. Full localCI/race, Staticcheck0.7.0, Govulncheck1.6.0/0reachable, Gitleaks8.30.1/237commits PASS. Exact installed HTTP/freshstdio all4runbooks/resources/status/anonymous401 PASS2.59sec. Пользователь подтвердил Restart Virfield MCP, однако фактический owning adapter этого чата всё ещё возвращает4других runbooks и не имеет image_transfer. Private attestation `/private/tmp/virfield-owning-mcp-3d667d2-20261016.json`. F4 установлен, но НЕ принят: первый livecopy расширяет allocated disk44.8GB→106.4GB при logical120GB; driver остановлен до workers, sourcegolden сохранён. **Реализовано и проверено:** random VM-account rotation удалена, новые аккаунты `admin/admin`; стандартный пароль не меняется. Известный legacy пароль переводится в стандартный только внутри нового disposable clone; source credentials/golden не перезаписываются, unknown login-keychain не сбрасывается. Samsung Monterey12.7.6/Xcode13.4.1 на0f8:2/2полных nativeGUI/newSSH/standard-password до-после actualreboot/newUUID/1920/workspace checksum/Swift compile-run/artifact/RFB/cross-key/release/revocation PASS. Новый exact macOS27 `uitest-27-v1` golden квалифицирован с actualreboot/native/Xcode27.0(27A266a); наa1a6 его2/2полныхworkercycles со standard-password/nativeGUI/newSSH/reboot/1920/Swift/workspace/artifact/RFB/release PASS. Кандидат `image-f11d9a1ee2991eada08c4f734c33df6d`, template/name `release-check-macos27-standard-v1` retained stopped/image_ready. Все исходные7 manifests сохранены. Старый macos27 golden всё ещё отклоняет login-copy auth(-25293); его own8d99fixture released после bounded evidence, причина исторического пароля/повреждения не установлена. Успех freshgolden не объявлен исправлением старых items. @@ -20,9 +20,9 @@ tags: **Production Broker/Prism candidate script-only: PASS.** Поддерживаемый per-run `image_id` выбрал новый UI-test кандидат через реальные production Broker/Prism MCP в Balda network; default template/config не менялись. Run `run-059b42d6cdc515123aa7dc3e973f96bb`; exact Story binding/keys в `/private/tmp/virfield-broker-candidate-xctest-a1a6bd9-20261015/journal.json`. Actual bootstrap/Callee/XCTest:1test/0fail, `.xcresult`, artifactSHA256, Storycomplete и cleanupdone PASS; providers/Human/chatmessages не запускались. Это не fullCodexStory/denied-write/credential settlement acceptance. После точного согласия пользователя стандартный `macos27` переключён на новый принятый golden; старый golden и все8 manifests сохранены, duplicate candidate template удалён, daemon87631. Затем default production Broker/Prism без per-run image override прошёл actualXCTest1/0, xcresult, artifactSHA256, Storycomplete и cleanupdone: run `run-fac6b0cde10fec26450dc38c4694d5ff`, journal `/private/tmp/virfield-broker-default-xctest-a1a6bd9-20261015/journal.json`. Full Codex Story/denied-write всё ещё открыты; отдельный Telegram-запрос для приемочного Story ожидает согласия. -**HTPC blocker доказан:** `/run/user/1000` tmpfs100%,4096bytesfree; чужой `/run/user/1000/speech-dispatcher/log/speech-dispatcher.log`3357126656bytes. Pinned readonlyqemu-img: `creating container storage ... no space left on device`; HDD2885316886528bytesfree. Own Sequoia9a9quarantinedpartial имелтолькоkind/golden/port, overlay/container/живогоqemu-imgнет. Послеwake/read-onlyinspection штатныйdurable resolve→cleanup released, clone неreplay. Пользователь явно разрешил оба действия: лог3357126656bytes сохранён на same-node privateHDD, SHA256 `90664f48489073a9f2e2b587433ebabeed337dff3f8b6af3e6af0895d0d6840d` сверен перед обнулением оригинала; freed3357130752bytes. Receipt `/private/tmp/virfield-htpc-preserve-and-truncate-speech-log-20261015.log`. Лог снова растёт, долговременная причина роста не установлена; чужие службы не менялись. Новая standard-policy Sequoia наinstalleda1a6 прошла2/2fullnative/reboot/workload/artifact/RFB/release/revocation, обеVMreleased; Sonoma в работе. Root `/private/tmp/virfield-htpc-standard-after-runroot-a1a6bd9-20261015`. СтарыйSonoma1200sec rebootstall не считается исправленным. iPad storage gate открывает новая F4реализация вsource: journaledcopy/sourcepreserved/privateidentity/provenance/SHA256/quarantine/explicitpartialcleanup/schema8. ПолныйlocalCI/race и focusedfailuretests PASS, Staticcheck0.7.0 PASS, Govulncheck1.6.0 zero reachable, Gitleaks8.30.1 worktree noleaks; installation/live transfer ещё не выполнены. +**HTPC blocker и рост лога устранены (2026-10-16).** Исходный `/run/user/1000/speech-dispatcher/log/speech-dispatcher.log`3357126656bytes заполнил tmpfs и блокировал Podman metadata при свободном HDD; own Sequoia9a9partial штатно resolved/released, clone не replay. Сначала exact log был сохранен на HDD, SHA256 `90664f48489073a9f2e2b587433ebabeed337dff3f8b6af3e6af0895d0d6840d` сверен перед truncate. Повторный рост исследован по прямому поручению пользователя: 1687960строк `LINE here` занимали155685558из155836077bytes(99.9%),38запусков. Установленный speech-dispatcher0.12.1-6.fc44 и upstream output_get_voices содержат debugdump всех LIST VOICES на уровне1; waitpid shutdown errors не причина объема. Создан private user config на основе текущего distribution config: изменены только LogLevel3→0 и LogDir→`~/.local/state/speech-dispatcher/log` внеPodman tmpfs; /etc config, TTS/modules/autospawn сохранены. Три свежих default spd-say -O/autospawn/espeak-ng/natural idle exit PASS, новые логи0bytes. По явному указанию «снеси его, включая его бэкап» удалены original155836077bytes и backup3357126656bytes, суммарно3512962733bytes; провереныinode/owner/noopenFD, backupdirectory удалён. Дополнительный defaultautospawn+espeak-ng LIST VOICES послеудаления PASS14806tablelines, originalpath не recreated, новые логи0bytes. Независимая проверка через 133сек: старый лог и каталог бэкапа отсутствуют, все4новых файла0bytes, Podman info PASS, runroot free3357126656bytes. Receipt `/private/tmp/virfield-htpc-speech-log-final-20261016.json`, node `virfield/diagnostics/speech-log-fix-20261016/report.json`; речевойтекст не сохранялся, audibleTTS не тестировался. Fresh standard-policy Sequoia2/2 **и Sonoma2/2** наa1a6 полностью PASS(nativeGUI/newSSH/adminadmin/reboot/newUUID/1920/workspace/workload/artifact/RFB/crosskey/release/revocation), все4workersreleased. Root `/private/tmp/virfield-htpc-standard-after-runroot-a1a6bd9-20261015`. Успешные новые циклы не устанавливают причину исторического Sonoma1200sec stall. F4 sparse defect и iPad gate остаются открыты; первый transfer job `job-b610b65830c57353f079229d30de7295`, journal `/private/tmp/virfield-local-golden-transfer-live-20261015/journal.json`; не replay. -**Полная приемка НЕзавершена.** Остаются фактический MCPRestart, Sonoma/iPad/fullBrokerCodexStory/deniedwrite и maintainedplan gates/F1–F5; F4 source под проверкой, не liveaccepted. Canonical private checkpoint `/private/tmp/virfield-release-current-state.json`. Предыдущая automationPAUSED согласно старому «Затем стоп»; работа продолжена по новому прямому поручению, новые расписания не создавались. +**Полная приемка НЕзавершена.** Остаются фактическая owning-MCP acceptance, iPad/fullBrokerCodexStory/deniedwrite и maintainedplan gates/F1–F5; установленный F4 не liveaccepted из-за sparse-allocation defect. Telegram-разрешение для fullStory пока не получено. Canonical private checkpoint `/private/tmp/virfield-release-current-state.json`. Предыдущая automationPAUSED согласно старому «Затем стоп»; работа продолжена по новому прямому поручению, новые расписания не создавались. ## Предыдущие checkpoints (история) diff --git a/work/projects/cpm-status-2026-10-15.md b/work/projects/cpm-status-2026-10-15.md index 476dfd10..bf889c2d 100755 --- a/work/projects/cpm-status-2026-10-15.md +++ b/work/projects/cpm-status-2026-10-15.md @@ -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, не доказательство сбоя расширения. Пересборка и повтор продолжаются.