From 28545a0d35fb81f33314376e98c12300da91d49a Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 14 Oct 2026 20:45:23 +0600 Subject: [PATCH] [2026-10-14] eagle: personal/projects/balda/balda-mattermost-connector.md personal/projects/balda/fix-openaimodel-tools.md personal/projects/personal-os/personal-os-status-2026-10.md personal/projects/virfield.md personal/tech/callee-prism.md --- personal/projects/balda/balda-mattermost-connector.md | 9 +++++++-- personal/projects/balda/fix-openaimodel-tools.md | 7 ++++++- .../personal-os/personal-os-status-2026-10.md | 11 +++-------- personal/projects/virfield.md | 6 ++++-- personal/tech/callee-prism.md | 7 ++++++- 5 files changed, 26 insertions(+), 14 deletions(-) diff --git a/personal/projects/balda/balda-mattermost-connector.md b/personal/projects/balda/balda-mattermost-connector.md index 29962aed..d99e33bb 100755 --- a/personal/projects/balda/balda-mattermost-connector.md +++ b/personal/projects/balda/balda-mattermost-connector.md @@ -1,7 +1,12 @@ -# Balda — Mattermost коннектор (архитектура) +# Balda — Mattermost-коннектор: исторический дизайн + +> [!WARNING] Историческая спецификация +> Код Mattermost-коннектора принят в [PR #8](https://github.com/baldaworks/balda/pull/8), merged **2026-09-29**; статус перепроверен **2026-10-14**. +> Схема, пути, команды и результаты ниже описывают версию сентября и не служат текущим runbook. +> Текущий запуск: [[personal/projects/balda/setup]]. Текущие PR и код: [[personal/projects/balda/balda]]. Broker/ingress recovery и приёмка: [[personal/projects/balda/execution-broker]]. > Создано 2026-09-26. Обновлено 2026-09-28 (правки по ревью применены). -> Статус: **✅ PR ОТКРЫТ — baldaworks/balda#8, 8/8 CI PASS, MERGEABLE.** +> Статус PR: **MERGED, 2026-09-29**. Приведённые ниже CI и commit IDs — история приёмки PR #8. > 🟢 **PR:** https://github.com/baldaworks/balda/pull/8 — 46 файлов, +6850/−27, 9 коммитов. > Фаза 2 закрыта полностью: код, 103+ новых теста, доки, зелёный CI. > Блокер `tools/` снят: `/tools/` в `.gitignore` + `git rm -r --cached tools/`. diff --git a/personal/projects/balda/fix-openaimodel-tools.md b/personal/projects/balda/fix-openaimodel-tools.md index a48e1fc4..cf9d3eec 100755 --- a/personal/projects/balda/fix-openaimodel-tools.md +++ b/personal/projects/balda/fix-openaimodel-tools.md @@ -1,4 +1,9 @@ -# План: фикс MCP для OpenAIModel +# Исторический черновик: MCP для OpenAIModel + +> [!WARNING] Исторический черновик +> Это список идей для прежней кодовой базы, а не действующий план Broker или свидетельство незакрытого дефекта текущего runtime. +> Текущий контур и проверенные версии: [[personal/projects/balda/balda]] и [[personal/projects/balda/execution-broker]]. +> Детали ниже сохранены для истории; их реализацию нельзя выводить из наличия этого списка. ## Что сделать 1. В `openAIChatRequest` добавить поле `Tools []openAIToolDefinition` diff --git a/personal/projects/personal-os/personal-os-status-2026-10.md b/personal/projects/personal-os/personal-os-status-2026-10.md index c0851faf..48ccb4a8 100755 --- a/personal/projects/personal-os/personal-os-status-2026-10.md +++ b/personal/projects/personal-os/personal-os-status-2026-10.md @@ -6,12 +6,12 @@ tags: updated: '2026-10-04' confidence: 1 --- -# Personal OS — статус на 2026-10-04 +# Personal OS — срез 2026-10-04, связанные проекты сверены 2026-10-14 > Проверенный срез и исправленный план R2: [[personal-os-system-review-index]]. Датированные цифры ниже — история наблюдений; целевые контракты и этапы задаёт пакет R2. Новая архитектура ожидает утверждения. -> **Главный источник правды о текущем состоянии.** Архитектурные заметки 2026-04 и старый Executor — исторические. +> Датированный срез Personal OS; актуальные целевые контракты задаёт пакет R2 по ссылке выше. Текущие версии Balda/Broker ведутся в их собственных карточках. Архитектурные заметки 2026-04 и старый Executor — исторические. ## Коротко @@ -49,12 +49,7 @@ confidence: 1 - **Чат-транспорт:** Mattermost (сервер на Kraken: `mattermost` + `mm-postgres`). Zulip выводится из эксплуатации ([[personal/plans/zulip-decommission]]). Discord не используется с 2026-05-11. - **Hermes:** профиль `hermes-whale` (Кит) на Mac, Mattermost/Telegram. Профиль Eagle существует, кроны на паузе. -- **Balda** (baldaworks/balda, runtime — normahq/runtime): стек на Kraken **снесён 2026-09-29** - ([[personal/plans/balda-runtime-rebuild-mm-validation]]). Текущее направление — **на Mac**: - Mattermost → Balda → Execution Broker → одноразовый Docker-worker (Callee + OpenCode/DeepSeek) - или macOS VM через Virfield; задачи/истории — Prism/Beads. - Статус: сквозная приёмка `/execute` из MM не пройдена, NO-GO для stable - ([[personal/plans/balda-callee-prism-plan]]). +- **Balda / Execution Broker** (сверено 2026-10-14): текущий контур на Mac, Mattermost и Codex ACP; старый Kraken-стек демонтирован. Live coding flow на прежних образах прошёл с артефактами, публикацией результата и cleanup. Новый Broker rc.26 проверен локально, но согласованное обновление и production-приёмка кандидата не выполнены; универсальная подготовка стеков, caches и inputs между запусками остаются в плане. Balda [PR #52](https://github.com/baldaworks/balda/pull/52) открыт, 11/11 CI SUCCESS, ещё не merged/deployed. Подробности и ограничения: [[personal/projects/balda/execution-broker]], конфигурация: [[personal/projects/balda/setup]]. - **Virfield** (сверено 2026-10-14): Tart + SSH nodes, новая hardening-версия исправляет Lume migration и lifecycle defects; текущий кандидат ещё не live принят ([[personal/projects/virfield]]). - **Obsidian vault** `~/obsidian/` — жив, синхронизация через git/NAS + Syncthing; MCP — `mcpvault`. diff --git a/personal/projects/virfield.md b/personal/projects/virfield.md index 291a8ed2..bae5db72 100755 --- a/personal/projects/virfield.md +++ b/personal/projects/virfield.md @@ -62,10 +62,12 @@ Node VM quotas реализованы и установлены в `aee89c1`: CP Сессия Claude Code (worktree `apple-browsers.git/fix-macos-ui-test-failures`) держит `lease-6fde5d2f33c234f2e885583fb6a8fd34` (`macos27`, TTL до 2026-10-15 13:20 UTC) для воспроизведения UI-тестов — это и есть «чужая» аренда из раздела выше. Найденные блокеры: - **`vm_tunnel` (ssh и desktop) → `backend_unavailable` «tart state is unavailable or stale»** сразу после того, как lease стал `ready` (job `prepare` succeeded 13:21). Позже API показал `needs_attention`/`vm_drift`, хотя VM работает и SSH по прямому IP отвечает. -- **SSH сразу после boot:** первые подключения дают «Connection timed out during banner exchange» при живом ping/порте 22; нужен `ConnectTimeout` ≥ 40.- **Нет общего каталога (VMShare) в Tart lease:** worktree и DerivedData копируются rsync по тому же абсолютному пути (`/Users/admin/...`, гостевой пользователь тоже `admin`), чтобы pre-actions схемы работали без правок. +- **SSH сразу после boot:** первые подключения дают «Connection timed out during banner exchange» при живом ping/порте 22; нужен `ConnectTimeout` ≥ 40. +- **Нет общего каталога (VMShare) в Tart lease:** worktree и DerivedData копируются rsync по тому же абсолютному пути (`/Users/admin/...`, гостевой пользователь тоже `admin`), чтобы pre-actions схемы работали без правок. - **Схема `macOS UI Tests CI` не собирает приложение** (CI скачивает notarized Review app): нужно отдельно собрать `macOS Browser Review` и `macOS tests-server` в ту же DerivedData. - **Keychain в golden:** login keychain заблокирован в GUI-сессии → `DuckDuckGo Review` падает в `Database.init()` (fatalError при регистрации value transformers — ключ шифрования из keychain). CI-аналог (`fastlane create_keychain_ui_tests`: DefaultKeychain/`default`, default + unlock) через SSH не помогает: разблокировка действует только в audit session SSH, а в GUI SecurityAgent показывает модальный запрос пароля и блокирует запуск. `launchctl asuser` → «Operation not permitted»; `osascript … Terminal do script` → AppleEvent timeout из-за модального окна. Разблокировка через `open /tmp/unlock-kc.command` (GUI-сессия) недостаточна: каждое SSH-подключение — новая audit session, и `xcodebuild`, запущенный по SSH, видит keychain заблокированным. Рабочий вариант: `security unlock-keychain` в том же скрипте/сессии, что запускает `xcodebuild` (как CI-раннер). Побочный эффект: брошенный модальный запрос SecurityAgent остаётся на экране (SIGTERM игнорирует, нужен `kill -9`) и перекрывает окно браузера — тесты падают с «Not hittable» (так испорчен первый прогон). Предложение: рецепт `uitest-27-v1` должен готовить default keychain без пароля/разблокированный для любых сессий, либо Virfield должен давать способ выполнять команды в GUI-сессии. -- Хост собирает Xcode 27.1, в госте Xcode 27.0 (`test-without-building`) — совместимость проверяется. +- **Разрешение дисплея гостя 1024×768 pt (2048×1536 px)**, CI выставляет 1920×1080 (`screenresolution set 1920x1080x32@60`). В низком окне Settings пункт сайдбара General обрезан снизу, клик промахивается → `DownloadsUITests` (и все тесты, настраивающие General через `disableWarnBeforeQuitting`) падают только в VM. В госте нет `screenresolution`/`displayplacer`. Предложение: задавать размер дисплея в шаблоне/lease (Tart `--display`) не меньше 1920×1080 для uitest-профиля. +- Хост собирает Xcode 27.1, в госте Xcode 27.0 — `test-without-building` работает, несовместимостей не обнаружено. ## Каноническая документация diff --git a/personal/tech/callee-prism.md b/personal/tech/callee-prism.md index 03490afb..d6ae83db 100755 --- a/personal/tech/callee-prism.md +++ b/personal/tech/callee-prism.md @@ -1,4 +1,9 @@ -# Callee + Prism — инструменты оркестрации и таск-трекинга +# Callee + Prism — историческая справка по контрактам + +> [!WARNING] Версионная справка, 2026-09-29 +> Контракты ниже относятся к исследованным тогда версиям. Их нельзя считать описанием установленного Broker без сверки закреплённых зависимостей, workflow и worker package. +> Проверенные версии, текущие образы, реальные прогоны и оставшаяся работа: [[personal/projects/balda/execution-broker]]. +> Старый [[personal/plans/balda-callee-prism-plan|план интеграции]] сохранён как архив. > Создан 2026-09-29. Опорная заметка к [[personal/plans/balda-callee-prism-plan]]. > Назначение: справочник по контрактам callee и prism, чтобы не перечитывать