[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

This commit is contained in:
Alexey Martemyanov committed 2026-10-19 14:56:16 +06:00
1 parent 47c327fb84
commit f0c93b121b
3 files changed
+37

No files matched your search

@@ -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]].
+6
View File
@@ -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]].
@@ -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` (локальная БД; её история не публиковалась).