Скил datarim-doctor — порядок в операционных файлах
Как скил datarim-doctor определяет тонкий однострочный контракт для операционных индексов Datarim и запускает миграцию из 8 проходов, не теряя ни одной записи о задаче.
По мере роста проекта tasks.md и backlog.md обрастают унаследованными блоковыми записями, устаревшими секциями и журналами завершённых задач, раздувающими контекст, который агент читает в начале каждой команды. Скил datarim-doctor определяет канонический тонкий контракт для этих файлов и алгоритм миграции, который приводит их к нужному виду.
Контракт тонкого индекса
Каждая строка в tasks.md и backlog.md отвечает на четыре вопроса — какая задача, какой статус, какая сложность и где лежит файл описания — и больше ничего. Канонический формат: один элемент списка, соответствующий строгому регулярному выражению: ID задачи, статус, приоритет, уровень, заголовок и стрелка-указатель на файл описания. Никаких абзацев, вложенных пунктов, встроенных требований.
Всё содержимое задачи хранится в отдельном файле datarim/tasks/{TASK-ID}-task-description.md. Этот файл содержит 12-ключевой YAML-фронтматтер и до 250 строк тела по пяти фиксированным секциям: Overview, Acceptance Criteria, Constraints, Out of Scope и Related. Доктор следит как за форматом строк индекса, так и за схемой файла описания.
Миграция из 8 проходов
Скрипт миграции применяет проходы в фиксированной последовательности. Проход 0 отклоняет секцию ## Backlog внутри tasks.md — доктор не мигрирует её автоматически, так как смысловое намерение каждого пункта неизвестно. Проход 1 обходит унаследованные блоковые заголовки и извлекает поля фронтматтера из текста тела, записывая каждый в новый файл описания. Проход 2 переписывает файлы индексов в тонкие однострочники. Проход 3 удаляет упразднённые секции с журналом завершённых из activeContext.md и удаляет progress.md. Проход 4 мигрирует унаследованный backlog-archive.md в отдельные архивные документы по задачам. Проход 6 удаляет архивные секции из операционных файлов. Проход 7 убирает верифицированные HTML-маркеры комментариев, указывающие на существующие архивные документы. Проход 5 повторно сканирует всё дерево после мутирующих проходов и проверяет результат на соответствие.