[2026-09-26] eagle: personal/plans/music-tags-review/1-needs-decision.md personal/plans/music-tags-review/2-medium-confidence.md personal/plans/music-tags-review/3-high-confidence.md personal/plans/music-tags-review/music-tags-review.md personal/projects/balda/balda-mattermost-connector.md personal/tech/balda-go-fx-pitfalls.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-26 14:32:09 +06:00
1 parent 519f7c443c
commit 14e9f5703f
6 files changed
+25992

No files matched your search

@@ -31,6 +31,46 @@
> «транспорт работает». Живой запуск обязателен. Текущий статус Фазы 3 —
> [[personal/projects/balda/balda-kraken-mm-deploy]].
>
## ✅ PR-ПРОХОД 2026-09-26 — транспорт приведён к PR-качеству
Ветка `feat/mattermost-channel`, **6 коммитов**, готово к `git push` и PR.
Подробности — [[personal/plans/balda-mm-pr-plan]].
**Исправлено в коде (не в данных):**
| Дефект | Фикс |
|---|---|
| 🔴 Двойной префикс `principal` — прошлый фикс был в БД и вернулся | `auth.MattermostSubject()` теперь **идемпотентен** (срезает `mattermost:` перед повторной квалификацией); из `handler.go` убран `TrimPrefix`-костыль |
| `ProgressPolicy.Typing: true` в command-пути | Приведено к `false` — у ботов MM нет typing API, `SendTyping` осознанный no-op |
**Тесты — 6 новых файлов, ~90 тестов:** `locator_codec_test.go`, `inbound_test.go`,
`adapter_test.go`, `client_test.go`, `ingress_test.go` (в пакете транспорта) +
`handlersfx/mattermost_ingress_test.go`. Ключевые регрессионные guard'ы:
`writeEvent` всегда с `seq` и уникальный `seq` под 16 горутинами (`bad_seq`),
plain-fallback только на content-rejection (не на 5xx), идемпотентность subject'а,
тред = одна сессия ≠ канальной, `/start` доступен до авторизации.
**Доки:** README + `docs/balda.md` + новый **`docs/mattermost.md`** (создание бота,
минтинг токена, membership, 5 ключей, поведение, troubleshooting).
**Все гейты зелёные на закоммиченном дереве:**
```
go build ./... → 0
go vet ./... → 0
go tool golangci-lint run → 0 issues
go tool go-arch-lint check --project-path . → OK - No warnings found
go test -race (затронутые пакеты) → все ok
```
⚠️ 5 пакетов падают (`cmd/balda`, `apps/balda`, `mcpruntime`, `session`, `state`) —
**это апстримная база**, проверено `git stash` (те же 4 теста падают без правок).
⚠️ `tools/mm-*.sh` + `tools/deltas-*.json` оставлены **незакоммиченными** — локальный
инструментарий, в PR не идёт.
---
## Статус Фазы 2: код закрыт (исторический раздел ниже)
> Разделы ниже — сначала контракт/разведка, затем **фактически написанные файлы**. Ищи
> §«Что фактически написано» для реестра файлов.
>