Auto Dream переписывает вашу память в Claude Code. Откатить нельзя. Поэтому я собрал cc-janitor

Страницы:  1

Ответить
 

Professor Seleznov


Продолжение серии. Предыдущие части: [антирегрессионный сетап](https://habr.com/ru/articles/1013330/) (топ-5 за сутки), [иерархический контекст](https://habr.com/ru/articles/1024878/)
Два месяца ежедневной работы в Claude Code оставляют свалку. Сотни старых сессий на гигабайты. Правила permissions, размазанные по пяти файлам settings.json — половина уже неактуальна. CLAUDE.md и memory-файлы, которые сами себе противоречат. Хуки, которые молча сломались неделю назад.
А потом Anthropic выкатил Auto Dream.
Auto Dream — это LLM, который между сессиями переписывает вашу проектную память. Консолидирует, сокращает, реорганизует. Агрессивно. Без отката. Без показа что именно изменилось. Рекомендация самого Anthropic: «сделайте бэкап ~/.claude/ перед включением». Инструмента, который делает этот бэкап — в экосистеме Claude Code не существовало.
Мне нужен был бэкап. Мне также нужна была чистка. За шесть дней я собрал cc-janitor — детерминированный TUI/CLI, который аудитирует, чистит и оборачивает Auto Dream наблюдаемыми, откатываемыми снапшотами.
## Почему «детерминированный» — ключевое слово
В пайплайне очистки cc-janitor нет LLM. Auto Dream использует LLM — именно поэтому он может перечистить, галлюцинировать противоречия или потерять провенанс. cc-janitor использует regex, подсчёт совпадений в транскриптах, парсинг frontmatter и SHA-256 отпечатки. Если правило неоднозначно — инструмент не действует, а показывает проблему. Решение принимаете вы.
Инвариант безопасности: ни одна мутация не достигает~/.claude/без env-var gate И подтверждения пользователя, и каждая мутация создаёт обратимый артефакт. Структурно невозможно случайно уничтожить данные — by design, а не by promise.
## Четыре фазы, шесть дней, 12 upstream-issues
Каждая фаза закрывает реальные, верифицированные баги в репозитории anthropics/claude-code:
Фаза 1 — Сессии, permissions, инспектор контекста. Обнаружение правил по всем 5 слоям settings.json. Детекция протухших правил через сканирование транскриптов. Калькулятор стоимости контекста: сколько токенов и долларов стоят ваши CLAUDE.md + memory + скиллы при каждом запросе. Soft-delete в корзину на 30 дней.
Фаза 2 — Редактор памяти, отладчик хуков, планировщик. Парсинг frontmatter и классификация memory-файлов (user/feedback/project/reference). Кросс-файловый детект дубликатов. Симулятор хуков для 9 типов событий с реалистичными payload — потому что хуки Claude Code ломаются молча, и до этого не было способа отладить их локально (закрывает issues #11544, #10401, #16564). Планировщик cron/schtasks с 6 шаблонами.
Фаза 3 — Monorepo, watcher, дашборд статистики. Обход рабочего пространства с классификацией каждого .claude/ как real/nested/junk. Фоновый демон для наблюдения за изменениями. Ежедневные снапшоты в дашборд. Экспорт/импорт конфигурации с SHA-256 манифестом.
Фаза 4 — Safety net для Auto Dream. Ради чего всё затевалось. Фоновый watcher поллит .consolidate-lock по каждому проекту. Pre-снапшот перед записью Dream, post-снапшот после. dream diff показывает что именно изменилось. dream rollback откатывает. dream doctor — 10 проверок здоровья: зависший lock, состояние autoDreamEnabled, отсутствующий .dream-log.md, количество memory-файлов, дубликаты, противоречащие записи.
12 upstream-issues закрыты по всем четырём фазам за 6 дней (v0.1.1 5 мая — v0.4.0 11 мая). Каждая запись в CHANGELOG ссылается на номер issue.
## Команды, с которых стоит начать
Эти только читают — нулевой риск:
```
cc-janitor perms audit # какие правила протухли или дублируются
cc-janitor context cost # сколько стоит ваш контекст за запрос в $
cc-janitor dream doctor # 10 проверок здоровья Auto Dream
cc-janitor stats sleep-hygiene # метрики гигиены памяти
```
Если context cost покажет что вы сжигаете больше токенов на запрос чем думали, или perms audit найдёт что 60% правил протухли — будете знать стоит ли переходить к чистке.
Мутирующие команды требуют CC_JANITOR_USER_CONFIRMED=1 и поддерживают --dry-run. Удалённое лежит в корзине 30 дней. Последнее действие откатывается через cc-janitor undo.
## Safety model — by design, не by hope
Семь уровней защиты: env-var gate на каждой мутации, soft-delete в корзину (30 дней), timestamped backup перед каждой записью в settings.json, append-only JSONL audit log (ротация на 10 МБ), reversible undo, pre/post снапшоты вокруг Dream, hard cap для scheduled-запусков (защита от runaway cron). Критический safety-фикс в 0.3.2: TUI ранее обходил env-var gate через os.environ.setdefault — исправлено через scoped context manager.
Если что-то из этого сломается так что данные потеряются — это P0. Safety model — это весь продукт.
## Установка
```
uv tool install cc-janitor
# или
pipx install cc-janitor
```
202 теста. CI на Linux/macOS/Windows. Python 3.11+. MIT.
## Полезные ссылки
- [Документация Claude Code: Memory](https://code.claude.com/docs/en/memory) — как работает Auto Dream
- [Issue #47959](https://github.com/anthropics/claude-code/issues/47959) — Auto Dream молча удаляет полезные записи памяти
- [Issue #50694](https://github.com/anthropics/claude-code/issues/50694) — зависший .consolidate-lock молча отключает Auto Dream
- [Matt Pocock’s skills repo](https://github.com/mattpocock/skills) — каноническая reference для Claude Code скиллов
- [Simon Willison’s Claude Code TILs](https://til.simonwillison.net/claude-code/) — практическая база знаний по Claude Code-Источник
 
Loading...
Error