doc-synclisted
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(