← ClaudeAtlas

drift-handlinglisted

Что делать при STALE / BROKEN / drift расхождении: hash mismatch, edited_in_place, missing files. Триггеры: drift, stale, broken, hash, mismatch, sync, sha, verify, projection_hash.
Orange-hanter/cod-doc · ★ 0 · AI & Automation · score 70
Install: claude install-skill Orange-hanter/cod-doc
# Skill — Drift handling ## Когда подгружается Задачи / контексты, где появляется расхождение между БД-проекцией и файлом на диске, либо устаревший хэш в гибридной ссылке. Триггер-keywords: `drift`, `stale`, `broken`, `hash`, `mismatch`, `sha:`, `verify`, `projection_hash`, `update_master_hashes`, `check_stale_refs`. ## Канонические статусы (`doc_drift`) | Статус | Что означает | Что делать | |--------|-------------|-----------| | `in_sync` | DB content hash == projection_hash == file hash | ничего | | `stale_export` | DB content изменился относительно последней экспорт-проекции | `doc.export(force=False)` или `force=True` после ручной проверки — но сперва проверь ADO-022 (ниже) | | `edited_in_place` | Файл правился в обход revision-flow (file hash расходится с projection_hash) | reconciliation-flow: либо `import_document`, либо ручной merge с записью revision | | `missing` | Файл удалён | если дока удалили — `doc.deprecate`; если случайность — восстановить из git history | ## Осиротевшие секции — сигнал рядом со статусом, не пятый статус (ADO-213) `doc_drift` отдаёт `orphan_sections` — якоря секций уровня 2, которые есть в БД и которых уже нет в файле. Считается **независимо** от четырёх статусов, и это не педантизм: четвёрка партиционирует состояния хэша контента, а осиротевшая секция проходит сквозь все четыре. `doc_accept` пиннит хэш файла в `content_sha256_head`, файл продолжает совпадать с пином — и документ вечно читается `in_sync`, пока в его теле в БД лежат раз