Починка синка на ноутбуке — что было сломано на самом деле
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. ⛔ Пока хаб не подтвердит приём — локальную копию не трогаю. |
✅ Состояние после починки
| шара | need | errors | pullErrors |
| anton-knowledge | 3 — живая докачка правок хаба (Pulse.html, 15:49) | 0 | 0 |
claude-home · claude-imports · claude-memory claude-secrets · claude-skills · machine-bus | 0 | 0 | 0 |
🟡 «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 — красный. |
🧒 Простыми словами: утром я испугалась большого числа и сказала, что с ноутбука пропали почти две тысячи файлов. Проверила — ничего не пропало: почти всё это папка, которую мы сами велели не возить. Зато нашлась настоящая поломка, маленькая и злая: подкачка не могла доделать уборку и стояла с ошибкой на двух папках. Держал её один файлик — черновик исследования, который вообще никогда никуда не уезжал и мог пропасть совсем. Я его сначала спрятала в два места и только потом убрала, ошибки исчезли. И починила самого сторожа: он смотрел не туда и поэтому эту поломку не замечал.