[2026-09-26] eagle: family/how-to/vault-git-sync.md personal/plans/balda-mm-pr-plan.md personal/tech/balda-go-fx-pitfalls.md personal/tech/music-tags-repair-truenas.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-26 14:42:05 +06:00
1 parent e200596c45
commit 036e7a7091
4 files changed
+272 -30

No files matched your search

+79 -1
View File
@@ -7,7 +7,85 @@
> Со всеми поддерживаемыми фичами и тестами. Вперёд! Без вопросов и требующих апрува команд.»
> Часть [[personal/projects/balda/balda-mm-delegation-plan]] (Фаза 2 → PR в апстрим).
## Итог
## ✅ Итог: ветка PR-clean (2026-09-26, финал)
**7 коммитов**, рабочее дерево **чистое**, `tools/` **исключён** из ветки.
```
9f1e6c9c chore: ignore local project-editing tooling
58f27120 docs(mattermost): document the transport setup and behavior
80d4f41d test(mattermost): cover the transport, the ingress and the handler
c7f18654 fix(mattermost): send a monotonic seq on every client frame
6dc3077a feat(mattermost): add the inbound handler and wire it into DI
fa1a2855 feat(auth): support the Mattermost channel subject
004fda2f feat(mattermost): add Mattermost transport adapter ← база прошлой сессии
```
### 🔴 Уборка `tools/` — важный урок про PR
База `004fda2f` (прошлая сессия, **не мои 5 коммитов**) затащила в ветку **16 файлов
`tools/`**: `apply-project-deltas.py`, `run-project-deltas.sh`, `deltas-mattermost*.json`,
`.deltas-state.json`. **В апстриме каталога `tools/` нет вообще** — проверено
`git ls-tree upstream/main tools/` → пусто.
**Как найдено:** `git diff --stat upstream/main...HEAD` показал `tools/` в списке файлов PR.
**Фикс (коммит `9f1e6c9c`):**
1. `/tools/` добавлен в `.gitignore`;
2. `git rm -r --cached tools/` — файлы **остались на диске** (39 файлов), ушли только из git.
⚠️ **`gitignore` НЕ отвязывает уже отслеживаемые файлы** — нужен именно `git rm --cached`.
⚠️ **Проверять состав PR через `git diff upstream/main...HEAD`, а не по своим коммитам.**
Свои 5 коммитов были чистыми (`git log upstream..HEAD -- tools/` → пусто), но ветка в
целом — нет, из-за базового коммита.
**Результат:** в PR-diff **41 файл**, все — файлы проекта, ни одного `tools/`.
### Финальные гейты — все зелёные на закоммиченном дереве
```
go build ./... → exit 0
go vet ./... → exit 0
go tool golangci-lint run → 0 issues
go tool go-arch-lint check --project-path . → OK - No warnings found
go test -race (затронутые пакеты) → все ok
тесты mattermost + handlersfx (verbose) → 126 PASS, 0 FAIL, 0 SKIP
```
**Тестов добавлено:** **103** (`grep -c '^func Test'`), по файлам:
| Файл | Тестов |
|---|---|
| `channel/mattermost/ingress_test.go` | 23 |
| `channel/mattermost/inbound_test.go` | 18 |
| `channel/mattermost/adapter_test.go` | 17 |
| `handlersfx/mattermost_ingress_test.go` | 17 |
| `channel/mattermost/locator_codec_test.go` | 15 |
| `channel/mattermost/client_test.go` | 13 |
### Предсуществующие падения — НЕ наши (проверено `git stash`)
5 пакетов: `cmd/balda`, `apps/balda`, `mcpruntime`, `session`, `state`. Те же 4 теста
падают **без** моих правок:
`TestInitCommand_NonInteractiveAutoSelectsRootAndGeneratesDetectedAgents`,
`TestCanonicalSessionMemoryRuntimeComposesPortableCapabilities`,
`TestCanonicalSessionMemoryRuntimeMigratesAndReopensGroupedStore`,
`TestResolveWorkspaceBaseBranch_ConfigPreferredWhenValid`.
### Лишнее, что я НЕ отправляю в PR
`tools/mm-*.sh` (9 ops-скриптов), `tools/deltas-*.json` (16 файлов дельта-групп),
`tools/apply-project-deltas.py`, `tools/run-project-deltas.sh`, `tools/.deltas-state.json`
— локальный инструментарий, остаётся на диске, в git не идёт.
### Осталось (по желанию Alex)
1. `git push -u origin feat/mattermost-channel` → открыть PR в `baldaworks/balda`.
2. Фаза 3/4 — [[personal/projects/balda/balda-kraken-mm-deploy]].
---
## Итог (промежуточный, до уборки tools/)
Ветка `feat/mattermost-channel`, **6 коммитов** (базовый `004fda2f` + 5 новых). Готово к `git push` и PR.