diff --git a/personal/plans/balda-remote-agent.md b/personal/plans/balda-remote-agent.md index 01210691..4dc9e92e 100644 --- a/personal/plans/balda-remote-agent.md +++ b/personal/plans/balda-remote-agent.md @@ -1,12 +1,12 @@ # Balda — удалённый агент по SSH -## Текущее состояние — сверено 2026-10-19 06:30 UTC +## Текущее состояние — сверено 2026-10-19 08:06 UTC | Компонент | Проверенное состояние | | --- | --- | | SSH Manager | 0.3.2, `a86df58`, 8 MCP-инструментов, `127.0.0.1:17796` | | Workspace Manager | `0c82b8f`, четыре функции, native SMB3, `127.0.0.1:17795`; root только `developer`, recipient `balda` | -| Balda | `3e86b995`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T06:28:48.664493362Z` | +| Balda | `eee69fc5`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T08:05:42.795540715Z` | | Проверка установленного SSH-ключа | Реальный контейнер Balda, `registered`, `client_verified_at=2026-10-19T06:29:15.692883Z`; прежний key id сохранён | | Исходники / runtime | Все три checkout чистые; build metadata обоих исправленных binaries указывает на эти чистые commits; активные hashes/inode проверены | @@ -16,13 +16,15 @@ SSH Manager импортирует существующий Mac SSH alias из n Inventory сейчас: `mac`, `mac-relay`, `kraken`. Kraken добавлен владельцем через Balda в сессии по ссылке ниже; маршрут исправлен самим менеджером на `mac-relay → kraken`, relay ограничен текущим endpoint. Новый target key при исправлении не устанавливался, прежняя identity и изоляция сохранены. Отдельный независимый SSH-вызов UID 1000 из Balda вернул ожидаемый маркер. +Треды Mattermost DM: `eee69fc5` сохраняет `root_id` пользовательского сообщения в адресе доставки; обычные ответы, progress и вопросы идут в его тред, дальнейшие replies сохраняют этот root. DM/group session IDs остаются прежними. Это поведение транспорта в коде; настройки переключения нет. Отдельный approval-тред не создаётся. `254f3e29` откачен коммитом `3f6a1363`: обработчик обычного числового ответа без треда и изменения хранилища удалены. Узкое сопоставление raw user ID для штатного threaded reply исправлено отдельно в `eee69fc5`. Исправление двойного меню `3e86b995` сохранено. `9018e7a3` исправляет transport routing; `c061e266` исправляет выбор pending-вопроса в общем root вместо уже отвеченного; неоднозначные параллельные pending-вопросы не подтверждаются. `eee69fc5` сохраняет прежнюю классификацию лички в архиве. Приёмка и ограничения: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. + Balda: меню подтверждения рендерится один раз — permission layer передаёт готовую presentation, questions layer сохраняет structured options для ответа, но не дописывает второе меню. Regression проходит через permission review, session question delivery и decision resolution. Добавление host и установка ключа остаются двумя разными owner confirmations; дополнительные generic MCP approvals у Codex выключены, native изменения доступа подтверждаются владельцем. MCP: `obsidian`, `virfield`, `workspace-manager`, `ssh-manager` и встроенный `balda`. Legacy Broker/Prism MCP отсутствуют в runtime, plugin `execution-broker` выключен, оригинальные Prism/Prism Callee 0.7.0 включены. Codex: `workspace-write`, дополнительный writable root только grants получателя, `--mcp-approval-policy=allow`. Workspace: `workspace_folders`, `workspace_connect`, `workspace_disconnect`, `workspace_lease`; discovery только папок, выдача конкретной папки RO/RW с TTL. Downloads и общий Developer/home mount не включены. Lease journal пуст. Приняты SMB revoke существующих FD/expiry и shared Beads fixture; runtime Workspace в этом исправлении не менялся. -Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Реальная модель после финального deployment: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полные 173 Balda package checks под race, golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. +Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Историческая model-проверка после deployment SSH-маршрута 06:28 UTC: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полный race-прогон Balda: 142 пакета с тестами; golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. Первичный провал приёмки: [сессия Mattermost](https://mm.qentra.top/qentra/pl/bjb4nhz6o3yoxqg9rs1qcpncjh). Причины и исправление: [[personal/projects/balda/ssh-client-route-2026-10-19]]. Evidence: `~/.local/share/balda-workspace/candidate/client-route/`; backup: `~/.local/share/balda-workspace/backups/client-route-20261019T062059Z`. @@ -115,7 +117,7 @@ Default private policies имеют изолированную сеть; API/pro Upstream Codex ACP 1.11.0 требует elicitation capability, которой нет у текущего клиента Balda. В закреплённой сборке добавлен узкий fallback пустой confirmation-only формы на существующий ACP RequestPermission. Форма с полями и неподдержанные режимы без capabilities не принимаются автоматически. Explicit accept/decline/cancel и неизвестные ответы покрыты тестами. Чистая повторная сборка закреплённого source + patch прошла race/lint и дала одинаковый хеш. -В Balda исправлены две причины потерянного ответа: обычный `1` в DM теперь относится к единственному доставленному действующему вопросу той же беседы/сессии; ID отвечающего совпадает с исходным ID автора запроса, без добавления `mattermost:` только к ответу. Проверяются права отвечающего, expiry и время сообщения. Старый `1`, в том числе в пределах той же секунды, не разрешает новый вопрос. Общие каналы и несколько pending-вопросов требуют ответа в треде. +Исторический патч `254f3e29` **откачен** в `3f6a1363`; описанное далее поведение больше не действует. Тогда обычный `1` в DM относится к единственному доставленному действующему вопросу той же беседы/сессии; ID отвечающего совпадает с исходным ID автора запроса, без добавления `mattermost:` только к ответу. Проверяются права отвечающего, expiry и время сообщения. Старый `1`, в том числе в пределах той же секунды, не разрешает новый вопрос. Общие каналы и несколько pending-вопросов требуют ответа в треде. Проверено: diff --git a/personal/plans/workspace-gateway.md b/personal/plans/workspace-gateway.md index bb00f9ec..426bc6cd 100644 --- a/personal/plans/workspace-gateway.md +++ b/personal/plans/workspace-gateway.md @@ -1,12 +1,12 @@ # Workspace Gateway — план -## Текущее состояние — сверено 2026-10-19 06:30 UTC +## Текущее состояние — сверено 2026-10-19 08:06 UTC | Компонент | Проверенное состояние | | --- | --- | | SSH Manager | 0.3.2, `a86df58`, 8 MCP-инструментов, `127.0.0.1:17796` | | Workspace Manager | `0c82b8f`, четыре функции, native SMB3, `127.0.0.1:17795`; root только `developer`, recipient `balda` | -| Balda | `3e86b995`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T06:28:48.664493362Z` | +| Balda | `eee69fc5`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T08:05:42.795540715Z` | | Проверка установленного SSH-ключа | Реальный контейнер Balda, `registered`, `client_verified_at=2026-10-19T06:29:15.692883Z`; прежний key id сохранён | | Исходники / runtime | Все три checkout чистые; build metadata обоих исправленных binaries указывает на эти чистые commits; активные hashes/inode проверены | @@ -16,13 +16,15 @@ SSH Manager импортирует существующий Mac SSH alias из n Inventory сейчас: `mac`, `mac-relay`, `kraken`. Kraken добавлен владельцем через Balda в сессии по ссылке ниже; маршрут исправлен самим менеджером на `mac-relay → kraken`, relay ограничен текущим endpoint. Новый target key при исправлении не устанавливался, прежняя identity и изоляция сохранены. Отдельный независимый SSH-вызов UID 1000 из Balda вернул ожидаемый маркер. +Треды Mattermost DM: `eee69fc5` сохраняет `root_id` пользовательского сообщения в адресе доставки; обычные ответы, progress и вопросы идут в его тред, дальнейшие replies сохраняют этот root. DM/group session IDs остаются прежними. Это поведение транспорта в коде; настройки переключения нет. Отдельный approval-тред не создаётся. `254f3e29` откачен коммитом `3f6a1363`: обработчик обычного числового ответа без треда и изменения хранилища удалены. Узкое сопоставление raw user ID для штатного threaded reply исправлено отдельно в `eee69fc5`. Исправление двойного меню `3e86b995` сохранено. `9018e7a3` исправляет transport routing; `c061e266` исправляет выбор pending-вопроса в общем root вместо уже отвеченного; неоднозначные параллельные pending-вопросы не подтверждаются. `eee69fc5` сохраняет прежнюю классификацию лички в архиве. Приёмка и ограничения: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. + Balda: меню подтверждения рендерится один раз — permission layer передаёт готовую presentation, questions layer сохраняет structured options для ответа, но не дописывает второе меню. Regression проходит через permission review, session question delivery и decision resolution. Добавление host и установка ключа остаются двумя разными owner confirmations; дополнительные generic MCP approvals у Codex выключены, native изменения доступа подтверждаются владельцем. MCP: `obsidian`, `virfield`, `workspace-manager`, `ssh-manager` и встроенный `balda`. Legacy Broker/Prism MCP отсутствуют в runtime, plugin `execution-broker` выключен, оригинальные Prism/Prism Callee 0.7.0 включены. Codex: `workspace-write`, дополнительный writable root только grants получателя, `--mcp-approval-policy=allow`. Workspace: `workspace_folders`, `workspace_connect`, `workspace_disconnect`, `workspace_lease`; discovery только папок, выдача конкретной папки RO/RW с TTL. Downloads и общий Developer/home mount не включены. Lease journal пуст. Приняты SMB revoke существующих FD/expiry и shared Beads fixture; runtime Workspace в этом исправлении не менялся. -Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Реальная модель после финального deployment: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полные 173 Balda package checks под race, golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. +Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Историческая model-проверка после deployment SSH-маршрута 06:28 UTC: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полный race-прогон Balda: 142 пакета с тестами; golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. Первичный провал приёмки: [сессия Mattermost](https://mm.qentra.top/qentra/pl/bjb4nhz6o3yoxqg9rs1qcpncjh). Причины и исправление: [[personal/projects/balda/ssh-client-route-2026-10-19]]. Evidence: `~/.local/share/balda-workspace/candidate/client-route/`; backup: `~/.local/share/balda-workspace/backups/client-route-20261019T062059Z`. @@ -115,7 +117,7 @@ Default private policies имеют изолированную сеть; API/pro Upstream Codex ACP 1.11.0 требует elicitation capability, которой нет у текущего клиента Balda. В закреплённой сборке добавлен узкий fallback пустой confirmation-only формы на существующий ACP RequestPermission. Форма с полями и неподдержанные режимы без capabilities не принимаются автоматически. Explicit accept/decline/cancel и неизвестные ответы покрыты тестами. Чистая повторная сборка закреплённого source + patch прошла race/lint и дала одинаковый хеш. -В Balda исправлены две причины потерянного ответа: обычный `1` в DM теперь относится к единственному доставленному действующему вопросу той же беседы/сессии; ID отвечающего совпадает с исходным ID автора запроса, без добавления `mattermost:` только к ответу. Проверяются права отвечающего, expiry и время сообщения. Старый `1`, в том числе в пределах той же секунды, не разрешает новый вопрос. Общие каналы и несколько pending-вопросов требуют ответа в треде. +Исторический патч `254f3e29` **откачен** в `3f6a1363`; описанное далее поведение больше не действует. Тогда обычный `1` в DM относится к единственному доставленному действующему вопросу той же беседы/сессии; ID отвечающего совпадает с исходным ID автора запроса, без добавления `mattermost:` только к ответу. Проверяются права отвечающего, expiry и время сообщения. Старый `1`, в том числе в пределах той же секунды, не разрешает новый вопрос. Общие каналы и несколько pending-вопросов требуют ответа в треде. Проверено: diff --git a/personal/projects/balda/balda.md b/personal/projects/balda/balda.md index 55d77b5f..87491504 100755 --- a/personal/projects/balda/balda.md +++ b/personal/projects/balda/balda.md @@ -1,6 +1,8 @@ # Balda — актуальный обзор -Проверено: **2026-10-19** по активной конфигурации, работающим сервисам и журналам приёмки. Основной контейнер `balda-mm-mac`: Balda `3e86b995`, provider `pool`, permissions `ask`. Оригинальные Prism/Prism Callee 0.7.0 включены; прежний plugin Execution Broker выключен. Полная эксплуатационная сводка, версии и открытая работа: [[personal/projects/balda/setup]]. +Проверено: **2026-10-19** по активной конфигурации, работающим сервисам и журналам приёмки. Основной контейнер `balda-mm-mac`: Balda `eee69fc5`, provider `pool`, permissions `ask`. Оригинальные Prism/Prism Callee 0.7.0 включены; прежний plugin Execution Broker выключен. Полная эксплуатационная сводка, версии и открытая работа: [[personal/projects/balda/setup]]. + +Треды Mattermost DM: `eee69fc5` сохраняет `root_id` пользовательского сообщения в адресе доставки; обычные ответы, progress и вопросы идут в его тред, дальнейшие replies сохраняют этот root. DM/group session IDs остаются прежними. Это поведение транспорта в коде; настройки переключения нет. Отдельный approval-тред не создаётся. `254f3e29` откачен коммитом `3f6a1363`: обработчик обычного числового ответа без треда и изменения хранилища удалены. Узкое сопоставление raw user ID для штатного threaded reply исправлено отдельно в `eee69fc5`. Исправление двойного меню `3e86b995` сохранено. `9018e7a3` исправляет transport routing; `c061e266` исправляет выбор pending-вопроса в общем root вместо уже отвеченного; неоднозначные параллельные pending-вопросы не подтверждаются. `eee69fc5` сохраняет прежнюю классификацию лички в архиве. Приёмка и ограничения: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. ## Текущее состояние diff --git a/personal/projects/balda/mattermost-dm-threads-2026-10-19.md b/personal/projects/balda/mattermost-dm-threads-2026-10-19.md new file mode 100644 index 00000000..77500e83 --- /dev/null +++ b/personal/projects/balda/mattermost-dm-threads-2026-10-19.md @@ -0,0 +1,15 @@ +# Balda — треды ответов в личке Mattermost, 2026-10-19 + +Текущее состояние: [[personal/projects/balda/setup]]. Сверено 2026-10-19 08:06 UTC. + +Upstream `a908ee1a` возвращал DM/group locator до вычисления root_id сообщения. Поэтому обычные ответы отправлялись в корень лички. Настройки включения тредов в MattermostConfig нет. + +`254f3e29` откачен отдельным `3f6a1363`. Ошибочный промежуточный патч отдельного approval-треда не устанавливался и удалён из checkout. Финальный коммит `eee69fc5` сохраняет исходный root_id либо ID нового сообщения пользователя в адресе доставки. Первый ответ Balda создаёт тред на этом сообщении; продолжение остаётся в нём. Session ID и public address key лички сохраняются. Подтверждение идёт в тот же тред, его ответ проверяется штатным обработчиком по root_id и raw user ID владельца. Обработчик standalone «1», новые поля DB и поиск единственного pending-вопроса не возвращены. + +Проверки: full `GOMAXPROCS=2 go test -race -p 2 ./...`, golangci-lint, architecture audit — pass. Проверено пакетов: 142. Сквозной тест использует реальные ingress/reply adapters, permission/questions services, SQLite и локальный Mattermost HTTP fixture: обычный ответ и вопрос доставлены в один root пользовательского сообщения; меню одно; чужой ответ отвергнут; выбор владельца принят и сохранён; следующий вопрос в том же треде разрешается отдельно, два одновременно pending-вопроса отклоняются как неоднозначные. Табличная проверка DM/group подтверждает root дальнейших replies и стабильность session identity. + +Это не внешняя приёмка нового сообщения через реальный Mattermost после restart: тестовые сообщения в production чат не посылались. Live websocket, health и native SSH roundtrip из реального контейнера установленным ключом проверены после restart; их проверка не объявляется доказательством отображения нового треда в UI. + +Развёрнут `eee69fc5702197c67f0cd4de91b4cfea15dfaf1b`, build metadata `vcs.modified=false`. Контейнер перезапущен `2026-10-19T08:05:42.795540715Z`. Host binary и `/proc/1/exe` SHA256 совпадают: `5fe6e36607f70998984eaefd962f5b2d964162d9e7debabd9032449dcb9d1471`. Health/login: 200. Config, Compose и ACP bridge не менялись. SSH/Workspace Manager не переустанавливались. Состояние и прежний binary сохранены в `/Users/admin/.local/share/balda-workspace/backups/dm-thread-20261019T080529Z`. + +Коммиты локальные по прямому решению пользователя; push не выполнялся. Evidence: `~/.local/share/balda-workspace/candidate/dm-threads/`. diff --git a/personal/projects/balda/setup.md b/personal/projects/balda/setup.md index a982d92d..c5296c68 100755 --- a/personal/projects/balda/setup.md +++ b/personal/projects/balda/setup.md @@ -1,12 +1,12 @@ # Balda — актуальный локальный запуск -## Текущее состояние — сверено 2026-10-19 06:30 UTC +## Текущее состояние — сверено 2026-10-19 08:06 UTC | Компонент | Проверенное состояние | | --- | --- | | SSH Manager | 0.3.2, `a86df58`, 8 MCP-инструментов, `127.0.0.1:17796` | | Workspace Manager | `0c82b8f`, четыре функции, native SMB3, `127.0.0.1:17795`; root только `developer`, recipient `balda` | -| Balda | `3e86b995`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T06:28:48.664493362Z` | +| Balda | `eee69fc5`, `balda-mm-mac`, provider `pool`, permissions `ask`; старт `2026-10-19T08:05:42.795540715Z` | | Проверка установленного SSH-ключа | Реальный контейнер Balda, `registered`, `client_verified_at=2026-10-19T06:29:15.692883Z`; прежний key id сохранён | | Исходники / runtime | Все три checkout чистые; build metadata обоих исправленных binaries указывает на эти чистые commits; активные hashes/inode проверены | @@ -16,13 +16,15 @@ SSH Manager импортирует существующий Mac SSH alias из n Inventory сейчас: `mac`, `mac-relay`, `kraken`. Kraken добавлен владельцем через Balda в сессии по ссылке ниже; маршрут исправлен самим менеджером на `mac-relay → kraken`, relay ограничен текущим endpoint. Новый target key при исправлении не устанавливался, прежняя identity и изоляция сохранены. Отдельный независимый SSH-вызов UID 1000 из Balda вернул ожидаемый маркер. +Треды Mattermost DM: `eee69fc5` сохраняет `root_id` пользовательского сообщения в адресе доставки; обычные ответы, progress и вопросы идут в его тред, дальнейшие replies сохраняют этот root. DM/group session IDs остаются прежними. Это поведение транспорта в коде; настройки переключения нет. Отдельный approval-тред не создаётся. `254f3e29` откачен коммитом `3f6a1363`: обработчик обычного числового ответа без треда и изменения хранилища удалены. Узкое сопоставление raw user ID для штатного threaded reply исправлено отдельно в `eee69fc5`. Исправление двойного меню `3e86b995` сохранено. `9018e7a3` исправляет transport routing; `c061e266` исправляет выбор pending-вопроса в общем root вместо уже отвеченного; неоднозначные параллельные pending-вопросы не подтверждаются. `eee69fc5` сохраняет прежнюю классификацию лички в архиве. Приёмка и ограничения: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. + Balda: меню подтверждения рендерится один раз — permission layer передаёт готовую presentation, questions layer сохраняет structured options для ответа, но не дописывает второе меню. Regression проходит через permission review, session question delivery и decision resolution. Добавление host и установка ключа остаются двумя разными owner confirmations; дополнительные generic MCP approvals у Codex выключены, native изменения доступа подтверждаются владельцем. MCP: `obsidian`, `virfield`, `workspace-manager`, `ssh-manager` и встроенный `balda`. Legacy Broker/Prism MCP отсутствуют в runtime, plugin `execution-broker` выключен, оригинальные Prism/Prism Callee 0.7.0 включены. Codex: `workspace-write`, дополнительный writable root только grants получателя, `--mcp-approval-policy=allow`. Workspace: `workspace_folders`, `workspace_connect`, `workspace_disconnect`, `workspace_lease`; discovery только папок, выдача конкретной папки RO/RW с TTL. Downloads и общий Developer/home mount не включены. Lease journal пуст. Приняты SMB revoke существующих FD/expiry и shared Beads fixture; runtime Workspace в этом исправлении не менялся. -Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Реальная модель после финального deployment: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полные 173 Balda package checks под race, golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. +Проверено: SSH race/vet/build; 15 native SSH lifecycle checks и 16 checks на случайных aliases в сети реальной Balda, включая alias-only import без via, автоматический relay, pin failure, retry, restart/revoke/remove. Историческая model-проверка после deployment SSH-маршрута 06:28 UTC: `01a152d9-7d04-7f21-9597-91c259813c7c`, ровно одна Owner confirmation существующего key id, без generic MCP approval; client receipt выше. Полный race-прогон Balda: 142 пакета с тестами; golangci-lint и architecture checks — pass; launchd Workspace/SSH/Beads-Dolt running, health/login 200. Внешние тестовые сообщения Mattermost не отправлялись. Первичный провал приёмки: [сессия Mattermost](https://mm.qentra.top/qentra/pl/bjb4nhz6o3yoxqg9rs1qcpncjh). Причины и исправление: [[personal/projects/balda/ssh-client-route-2026-10-19]]. Evidence: `~/.local/share/balda-workspace/candidate/client-route/`; backup: `~/.local/share/balda-workspace/backups/client-route-20261019T062059Z`. diff --git a/personal/projects/balda/ssh-client-route-2026-10-19.md b/personal/projects/balda/ssh-client-route-2026-10-19.md index e0c7d0c8..473042e6 100644 --- a/personal/projects/balda/ssh-client-route-2026-10-19.md +++ b/personal/projects/balda/ssh-client-route-2026-10-19.md @@ -1,6 +1,6 @@ # SSH Manager и Balda — маршрут и подтверждения, 2026-10-19 -Проверенная установка: [[personal/projects/balda/setup]]. Commits: SSH Manager `a86df58`, Balda `3e86b995`. +Историческая приёмка SSH-маршрута; текущая установка и последующий откат Balda: [[personal/projects/balda/setup]]. Commits: SSH Manager `a86df58`, Balda `3e86b995`. Version 0.3.2 fixes the gap between operator-side bootstrap success and a usable @@ -63,4 +63,6 @@ SSH binary SHA256: `72d99bf3daca0465ba1a953f7fb8f2d460784f4e8af03158c5b953066532 Коммиты сохранены локально. origin/main Balda имеет отдельную старую историю: 2 commits только в origin и 834 только в текущей установленной ветке; перенос старых DeepSeek/Zulip изменений и переписывание main в этот fix не включались. -Remote publication: automatic approval review rejected pushing the installed source history to mallexxx/balda, branch deploy/balda-mm-mac-client-route-20261019, because separate permission for that payload and destination was missing. No push occurred. The local commits, deployed services and verified access remain intact; explicit publication permission is pending. +Remote publication: automatic approval review rejected pushing the installed source history to mallexxx/balda, branch deploy/balda-mm-mac-client-route-20261019, because separate permission for that payload and destination was missing. No push occurred. The local commits, deployed services and verified access remain intact; The user explicitly chose to keep commits local; no remote push is authorized or planned. + +Последующее исправление DM-тредов и текущий binary Balda: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. SSH Manager 0.3.2 и его настройки этим изменением не менялись. diff --git a/personal/projects/balda/workspace-context.md b/personal/projects/balda/workspace-context.md index fde8852c..9f9703ef 100755 --- a/personal/projects/balda/workspace-context.md +++ b/personal/projects/balda/workspace-context.md @@ -22,3 +22,5 @@ runtime: В профиле Codex действуют `--sandbox=workspace-write`, дополнительный writable root только для grants получателя и `--mcp-approval-policy=allow`. MCP: Obsidian, Virfield, Workspace Manager и SSH Manager; встроенные инструменты Balda доступны штатно. Generic MCP lookup не требует подтверждения, изменение доступа подтверждается native owner form. Пути, перезапуск и session boundaries: [[personal/projects/balda/setup]]. Старый Claude/Zulip template: [[personal/projects/archive/balda-reference-before-2026-10-14]]. + +Треды DM задаются кодом транспорта, не provider context: [[personal/projects/balda/mattermost-dm-threads-2026-10-19]]. Конфиг provider/global instruction при этом deployment не менялся.