⌂ все дашборды/Флот и узлы← Sync-Propagation-Audit · Syncthing-alternatives-2026-07-07 →

Починка синка на ноутбуке — что было сломано на самом деле

17.08.2026, 15:52 · узел MyOwnPC-Natalia · всё по живому API Syncthing, ничего не удалено
0
ошибок на всех 7 шарах
было 3 на двух
3
файла спасены до касания
md5 сверены до и после
1360
из 1612 «пропавших» —
это наш же ignore
68/72
верхний уровень волта
сошёлся, кроме .DS_Store

🔴 Что было сломано по-настоящему

шараошибкачто её держало
anton-knowledge«каталог удалён на remote, но содержит игнорируемые файлы»_originals/deep-research — хаб каталог удалил, а у нас в нём остался ОДИН файл: конфликтная копия ChatGPT-плеча DR26-07-30-MACANTON-01-1456
machine-busто же, дваждыдва каталога _sync-conflict-archive — в _deploy и в _transit/scripts-from-MyOwnPC-Natalia

⚠️ Находка внутри находки: этот ДР-отчёт мог пропасть совсем

Файл был *.sync-conflict-* — а это ignore-правило волта. Значит Syncthing его никогда не синкал: на хаб он не уезжал ни разу. Поиском по всему D:/OBSIDIAN версии без суффикса конфликта не существует. Есть только синтез-заметка в 03-Insights и grok-плечо в архиве версий.

Это ровно та «тихая потеря ДР-оригиналов», что висит у нас P0 в реестре. Файл спасён в шину для хаба (md5 87fc5803…) и продублирован в _scratch. ⛔ Пока хаб не подтвердит приём — локальную копию не трогаю.

✅ Состояние после починки

шараneederrorspullErrors
anton-knowledge3 — живая докачка правок хаба (Pulse.html, 15:49)00
claude-home · claude-imports · claude-memory
claude-secrets · claude-skills · machine-bus
000

🟡 «1931 файл не приехал» — это была ложная тревога, моя

Утром я предъявила эту цифру как потерю. Проверила — потери нет:
  • верхний уровень волта сошёлся с флотом полностью: 68 записей глобально, 72 локально, единственное отсутствующее — .DS_Store;
  • из 1612 «недостающих» 1360 — каталог _machine-bus, тот самый двойник шины внутри волта, который мы игнорируем намеренно с 06.08;
  • остальное — .DS_Store, .trash, кэш Obsidian, Thumbs.db по подкаталогам;
  • механическое доказательство: needFiles=0 при ignorePatterns=true. Syncthing считает need после вычета ignore, то есть должным себя не считает.

🔧 Починен прибор — он и был причиной, что ошибку не видели

Сторож синка не спрашивал ошибки синка. sync_divergence смотрел только на разрыв global-local и не запрашивал errors/pullErrors самой папки. Поэтому живая ошибка висела незамеченной, а экран занимал вечно-красный разрыв, который бедой не был. Вечно красного сторожа перестают читать — и рядом с ним теряется настоящее.
Теперь: ошибка папки = красное всегда; разрыв при need=0 и включённых ignore = справка «разрыв под ignore», а не долг.
Предел назван честно: пока идёт докачка (need>0) прибор не умеет отличить остаток под ignore от настоящей дыры и краснеет — fail-closed. Это записано отдельным тестом, чтобы никто не «улучшил» молча.
Тест tools/_test_sync_divergence.py, 5 случаев. Обе мутации проверены: убрала вопрос про ошибки — красный; убрала скидку на ignore — красный.
🧒 Простыми словами: утром я испугалась большого числа и сказала, что с ноутбука пропали почти две тысячи файлов. Проверила — ничего не пропало: почти всё это папка, которую мы сами велели не возить. Зато нашлась настоящая поломка, маленькая и злая: подкачка не могла доделать уборку и стояла с ошибкой на двух папках. Держал её один файлик — черновик исследования, который вообще никогда никуда не уезжал и мог пропасть совсем. Я его сначала спрятала в два места и только потом убрала, ошибки исчезли. И починила самого сторожа: он смотрел не туда и поэтому эту поломку не замечал.