From f0c93b121bd36c30347954946d934a5e146d613e Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 19 Oct 2026 14:56:16 +0600 Subject: [PATCH] [2026-10-19] eagle: personal/projects/balda/mattermost-dm-threads-2026-10-19.md personal/projects/balda/setup.md personal/projects/balda/upstream-prs-2026-10-19.md --- .../balda/mattermost-dm-threads-2026-10-19.md | 6 +++++ personal/projects/balda/setup.md | 6 +++++ .../projects/balda/upstream-prs-2026-10-19.md | 25 +++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 personal/projects/balda/upstream-prs-2026-10-19.md diff --git a/personal/projects/balda/mattermost-dm-threads-2026-10-19.md b/personal/projects/balda/mattermost-dm-threads-2026-10-19.md index 77500e83..92e3056d 100644 --- a/personal/projects/balda/mattermost-dm-threads-2026-10-19.md +++ b/personal/projects/balda/mattermost-dm-threads-2026-10-19.md @@ -13,3 +13,9 @@ Upstream `a908ee1a` возвращал DM/group locator до вычислени Развёрнут `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/`. + +## Два upstream PR — 2026-10-19 08:51 UTC + +Открыты независимые PR к `baldaworks/balda:main`: [#77 — единичное меню подтверждения](https://github.com/baldaworks/balda/pull/77) и [#78 — ответы в тредах лички](https://github.com/baldaworks/balda/pull/78). У каждого один коммит от свежей публичной базы `e0edbe58`; checks race/lint/architecture прошли отдельно. Оператор подтвердил успешный прогон развёрнутой Balda в Mattermost. + +Production остаётся на `eee69fc5`: этот этап готовил PR и не обновлял работающий binary. PR тредов дополнительно закрывает повтор старого ответа с сохранением точности времени; эта дополнительная защита проверена в PR-ветке и в production на этом этапе не устанавливалась. Подробности и CI-снимок: [[personal/projects/balda/upstream-prs-2026-10-19]]. diff --git a/personal/projects/balda/setup.md b/personal/projects/balda/setup.md index c5296c68..b76182a9 100755 --- a/personal/projects/balda/setup.md +++ b/personal/projects/balda/setup.md @@ -176,3 +176,9 @@ docker logs --tail 120 balda-mm-mac Проверять успешный startup provider и подключение Mattermost. Не копировать токены, cookie или login URLs из логов в заметки. Архив старых схем и шаблонов: [[personal/projects/archive/balda-reference-before-2026-10-14]]. + +## Два upstream PR — 2026-10-19 08:51 UTC + +Открыты независимые PR к `baldaworks/balda:main`: [#77 — единичное меню подтверждения](https://github.com/baldaworks/balda/pull/77) и [#78 — ответы в тредах лички](https://github.com/baldaworks/balda/pull/78). У каждого один коммит от свежей публичной базы `e0edbe58`; checks race/lint/architecture прошли отдельно. Оператор подтвердил успешный прогон развёрнутой Balda в Mattermost. + +Production остаётся на `eee69fc5`: этот этап готовил PR и не обновлял работающий binary. PR тредов дополнительно закрывает повтор старого ответа с сохранением точности времени; эта дополнительная защита проверена в PR-ветке и в production на этом этапе не устанавливалась. Подробности и CI-снимок: [[personal/projects/balda/upstream-prs-2026-10-19]]. diff --git a/personal/projects/balda/upstream-prs-2026-10-19.md b/personal/projects/balda/upstream-prs-2026-10-19.md new file mode 100644 index 00000000..85eab0f0 --- /dev/null +++ b/personal/projects/balda/upstream-prs-2026-10-19.md @@ -0,0 +1,25 @@ +# Balda — два upstream PR, 2026-10-19 + +Проверено 2026-10-19 08:51 UTC. Текущий runtime: [[personal/projects/balda/setup]]. Владелец подтвердил успешный прогон Balda в Mattermost до подготовки этих PR. + +| Исправление | PR | Коммит | Локальные проверки | +| --- | --- | --- | --- | +| Двойное меню | [#77](https://github.com/baldaworks/balda/pull/77) | `623eecdb35ce2a6ac7054d9c8e6bbdceef64c4e6` | race: 142 пакета с тестами; lint, architecture: pass | +| Треды DM | [#78](https://github.com/baldaworks/balda/pull/78) | `3915ae5ab776be35dc623ce2c3dab77781dbf021` | race: 142 пакета с тестами; lint, architecture: pass | + +Обе ветки независимо созданы от свежего официального `origin/main` `e0edbe589f71d86a2300dddafa92371f33f9593d` в отдельном checkout. Опубликованы только два focused-коммита в feature branches `mallexxx/balda`; ветка fork main, исходный рабочий checkout и runtime не переключались. История `254f3e29`/отката и приватные deployment данные в PR не включены. Тест тредов освобождён от проверки меню, поэтому порядок merge не создаёт зависимости. Maintainer edits разрешены, оба PR открыты ready for review и прикреплены к задаче Codex. + +Первый PR сохраняет готовую presentation permissions и structured options для проверки ответа. Второй сохраняет root_id пользовательского сообщения для DM/group delivery, прежние session identity и архивную область; исправляет raw requester ID; выбирает pending-вопрос вместо истории и отклоняет неоднозначные одновременные вопросы. Дополнительный regression поймал повторную авторизацию следующим вопросом: Mattermost помечает общий reply reference через generic `SharedReplyRef`, а resolver отклоняет ответы, отправленные до создания текущего вопроса. Точность created_at сохраняется в SQLite/PostgreSQL. Остальные reply references сохраняют прежнюю семантику. + +Команды: `GOMAXPROCS=2 go test -race -p 2 -timeout=20m ./...`, `go tool golangci-lint run`, `go tool go-arch-lint check --project-path .` для каждой отдельной ветки. Для второго PR прошли tagged question contracts на реальных SQLite и PostgreSQL 17: `Provider_QuestionStoreRoundTrip`, `QuestionThreadReplyLookup`, `QuestionAnswerHandoffSurvivesRestart`. Новый lookup contract проверяет активный вопрос, неоднозначность, изоляцию другой беседы и наносекундное время. Одноразовый PostgreSQL-контейнер и его test volume удалены. Это локальные выбранные DB-contract tests; полные backend integration suites выполняет GitHub CI. + +CI-снимок на 2026-10-19 08:51 UTC: + +- PR #77: lint: SUCCESS; sqlite-integration: SUCCESS; postgres-integration: SUCCESS; test: IN_PROGRESS; projection-replay: SUCCESS; architecture-lint: SUCCESS; jetstream-integration: SUCCESS; ingress-e2e: SUCCESS. +- PR #78: native-launch (ubuntu-latest): IN_PROGRESS; sqlite-integration: IN_PROGRESS; lint: SUCCESS; native-launch (macos-latest): IN_PROGRESS; native-launch (windows-latest): IN_PROGRESS; postgres-integration: IN_PROGRESS; test: IN_PROGRESS; projection-replay: SUCCESS; architecture-lint: SUCCESS; jetstream-integration: SUCCESS; ingress-e2e: SUCCESS. + +Для merge требуются все восемь checks CONTRIBUTING. Автоматический merge не включался. Открытие PR не объявляется завершением ещё выполняющихся CI jobs. + +Развёрнутый runtime остаётся `eee69fc5702197c67f0cd4de91b4cfea15dfaf1b`, binary SHA256 `5fe6e36607f70998984eaefd962f5b2d964162d9e7debabd9032449dcb9d1471`. Дополнительный SharedReplyRef/causal guard появился в PR-ветке после live acceptance; установка этой добавки в текущую Balda этим этапом не выполнялась. Публичные ветки подготовлены на более новом upstream, чем установленная сборка. + +Evidence: `~/.local/share/balda-workspace/candidate/upstream-prs-20261019/`. Исходники PR: `/private/tmp/balda-prs-20261019/approval` и `/private/tmp/balda-prs-20261019/threads`; долговременные ссылки — PR и fork branches выше. Beads: `balda-fv6m` (локальная БД; её история не публиковалась).