# 2026-09-04 — Потеря git identity → молчаливый отказ коммитов в sync ## Симптом Трёхфазный sync (`/opt/data/sync-vault.sh`) отрабатывал с exit 0 и «Pushed ✓» по всем фазам, но изменения с телефона (клон `/obsidian-syncthing`) НЕ доходили до bare-репозитория. - `git status --porcelain` в `/obsidian-syncthing` показывал staged `M`/`D`/`A` — файлы индексировались (`git add -A`), но коммит не происходил. - В логе `/tmp/vault-sync.log` — только «Pushed ✓» + «Already up to date.» без единой строки `[main ]` после 2026-09-02 12:17. ## Причина В контейнере отсутствовала git identity (`user.name`/`user.email` не заданы): ``` git commit → fatal: unable to auto-detect email address (got 'root@4e97770b2f2f.(none)') ``` `sync-vault-lib.sh` глушит ошибку коммита (`2>/dev/null || true`), поэтому фаза «успешно» шла дальше: fetch/merge/push не находили новых коммитов → «Already up to date.». Identity жила в `/root/.gitconfig`, который **не переживает рекреацию контейнера**. Последний коммит со старой identity — 2026-09-02 12:17 (4bcd0987, `Taiga `), после инцидента hermes-taiga-crashloop и пересоздания контейнера (бэкапы `.bak-per-user-20260902-1229`) конфиг слетел. Изменения с телефона копились ~1.5 суток (до 2026-09-04 02:06). ## Исправление В `/opt/data/sync-vault.sh` добавлена идемпотентная установка identity при каждом запуске (рядом с уже существующим safe.directory — тот же паттерн): ```bash git config --global user.name "Taiga" git config --global user.email "taiga@hermes" ``` Проверено: sync закоммитил все накопленные изменения одним коммитом `2b45264` (23 файла, +654/−459, автор `Taiga `), все три репозитория сошлись на нём, деревья чистые. ## Наблюдение (не блокер) В коммите много `mode change 100755 => 100644` — нормализация exec-бита, файлы на диске и в индексе теперь 644, churn не повторяется. Если режимные изменения начнут снова появляться при записях с телефона — выставить `git config core.filemode false` в `/obsidian-syncthing` (безопасно на ZFS, см. vault-sync-infrastructure skill). ## Затронутые файлы - `/opt/data/sync-vault.sh` — добавлена установка git identity - Коммит `2b45264` в bare `/vault.git` (source of truth)