← ClaudeAtlas

doc-synclisted

Синхронизация markdown ↔ БД в cod-doc: doc import после правки файла, hash update для реестра MASTER.md, семантика drift, регистрация нового документа. Триггеры: drift, doc import, edited_in_place, stale_export, MASTER.md, хэш, реестр, правка документации, документ не виден в БД.
Orange-hanter/cod-doc · ★ 0 · AI & Automation · score 70
Install: claude install-skill Orange-hanter/cod-doc
# Doc sync — markdown это проекция, истина в БД Правка tracked-`.md` на диске оставляет БД позади → drift `edited_in_place`. PostToolUse-хук плагина напомнит (он проверяет файл по таблице `document`, поэтому молчит на untracked-файлах); дальше — вручную. Слаг проекта: `cod-doc project list` или `sqlite3 -readonly .cod-doc/state.db "select slug, root_path from project"`. ## Правка существующего документа ```bash cod-doc doc import <file.md> -p <slug> # frontmatter + body → БД cod-doc doc drift -p <slug> --all # контроль: edited_in_place == 0 ``` Если файл входит в hash-реестр корневого `MASTER.md`: ```bash cod-doc hash update # пересчёт реестра (правит MASTER.md) cod-doc doc import MASTER.md -p <slug> # и сам MASTER.md — тоже в БД ``` ## Семантика drift | Статус | Значение | Действие | |---|---|---| | `edited_in_place` | файл правлен, БД отстала | **дефект** → `doc import` | | `stale_export` | БД свежее, проекция на диске старее | **норма** в files-are-source; не трогать | | `missing` | файла нет | разобраться; вслепую не пересоздавать | `doc export` на диск — под guard'ом до byte-identical round-trip; наружу экспортировать не надо. ## Новый документ → регистрация в БД CLI `doc import` работает только по уже известным ключам. Новый файл регистрируется сервисом: ```python from cod_doc.domain.entities import DocumentType from cod_doc.services import import_service # внутри transactional(sf) as s: import_service.import_markdown(