/dr-archive
Архивация задачи с обязательной рефлексией и эволюционными предложениями
Обзор
/dr-archive — финальный этап пайплайна. Определяет целевую задачу, проверяет чистоту git-репозиториев, выполняет обязательную рефлексию (Step 0.5) с генерацией эволюционных предложений, упаковывает задачу в постоянный архивный документ, обновляет бэклог, обрабатывает создание последующих задач и сбрасывает контекст. С версии v1.10.0 (TUNE-0013) ранее отдельная команда /dr-reflect объединена здесь, поскольку «опциональный обязательный контроль» был признан дефектом проектирования.
Использование
/dr-archive
/dr-archive cancel
/dr-archive cancel TASK-0001
Что делает
- Шаг 0 — Определение задачи — разрешает, какая задача архивируется, из аргумента или через диалог при нескольких активных задачах.
- Шаг 0.1 — Pre-Archive Git Check (обязательно, multi-agent с v1.18.0 / TUNE-0044) — классифицирует каждый затронутый репозиторий как workspace (общий для параллельных агент-сессий) или project (одноагентный). Для workspace-репо
scripts/pre-archive-check.sh --task-id <ID> --shared <repo>классифицирует hunks каждого изменённого файла какown,foreign,mixedилиunattributed: foreign-only НЕ блокирует архивацию (это коммитят параллельные сессии), а own/mixed/unattributed блокируют до применения patch-staging recipe (git add -pили non-interactive blob-swap). Для project-репо legacy-контракт TUNE-0003 не меняется (любое незакоммиченное изменение блокирует, 3-way prompt). - Шаг 0.5 — Рефлексия (обязательно, не пропускается) — загружает навык рефлексии и выполняет полный рабочий процесс:
- Создаёт
datarim/reflection/reflection-[task_id].md - Генерирует эволюционные предложения: Class A (безопасные, применить сейчас) и Class B (требуют обновления PRD)
- Представляет Class A для одобрения; применяет одобренные к runtime
- Логирует изменения в
datarim/docs/evolution-log.md - Запускает проверку health-метрик; предлагает
/dr-optimizeпри превышении порогов - Записывает последующие задачи для шага 4
Этот шаг невозможно пропустить. Флага
--no-reflectне существует. При сбое архивация останавливается — повторный запуск возвращает к шагу 0.5. - Создаёт
- Шаг 1 — Определение области архива — извлекает префикс из ID задачи (например,
INFRAизINFRA-0001) и сопоставляет с поддиректорией архива. - Шаг 2 — Создание архивного документа — записывает
documentation/archive/{area}/archive-{task_id}.mdпо канонической формеtemplates/archive-template.md(v2.14.0+, TUNE-0255). Архив несёт четыре операторских раздела в строгом порядке — «Начальная задача» (одно предложение обычным языком, что требовалось сделать; источник — операторский бриф), «Как решили» (маркированный список без вложенности: на каждый пункт брифа — цитата, статус и одно-два предложения; пункты изtasks/{ID}-expectations.mdсворачиваются в тот же список с пометкой «(уточнение брифа)»), «Артефакты задачи» (что появилось или изменилось), «Следующие шаги» (конкретные команды/dr-*или операторские действия, либо «всё закрыто»). Под горизонтальной чертой---— аудит-аддендум с подсекциями### verification_outcome,### Acceptance Criteria,### Lessons Learned,### Operator Handoff,### Related. Статусы: «выполнено» / «частично» / «не выполнено» / «неприменимо» — никогда не служебныеmet/partial/missed/n-a. Включает контроль заявлений о потере данных: перед записью чего-либо как «безвозвратно утеряно» агент проходит 5-канальный чеклист восстановления. - Шаг 3 — Обновление бэклога — если задача была в
backlog.md, удаляет её и добавляет запись вbacklog-archive.mdсо статусомcompleted, датой и ссылкой на архив. - Шаг 4 — Последующие задачи — читает follow-up из документа рефлексии и предлагает добавить их в бэклог.
- Шаг 5 — Обновление таблицы задач — добавляет строку в таблицу архивных задач в
tasks.md. - Шаг 6 — Обновление контекста — убирает задачу из
## Active TasksвactiveContext.md, добавляет в## Последние завершённые. Не сбрасывает весь файл — остальные активные задачи сохраняются.
Режим отмены
При фразе «cancel task» или указании ID для отмены: задача удаляется из бэклога, добавляется в архив со статусом cancelled, убирается из активных. Архивный документ не создаётся, рефлексия не запускается.
Аргументы
Необязательно. cancel для отмены вместо архивации. Можно указать ID задачи для однозначного определения.
Результат
Создаёт: documentation/archive/{area}/archive-{task_id}.md, datarim/reflection/reflection-[task_id].md. Обновляет: datarim/backlog.md, datarim/backlog-archive.md, datarim/tasks.md, datarim/activeContext.md, datarim/docs/evolution-log.md.
Пример сессии
> /dr-archive
Определение задачи: AUTH-0001 (единственная активная)
Проверка чистоты Git:
arcanada workspace: clean
Projects/Datarim/code/datarim: clean
Шаг 0.5 — Рефлексия:
Создан: datarim/reflection/reflection-AUTH-0001.md
Эволюционные предложения:
[Class A] Обновить security.md паттернами OAuth (одобрено → применено)
[Class B] Рефакторинг auth-агента — отложено (нужен PRD)
Health-метрики: в пределах порогов
Архивация AUTH-0001...
Область: auth
Архив: documentation/archive/auth/archive-AUTH-0001.md
Бэклог обновлён:
AUTH-0001 удалён из backlog.md
AUTH-0001 добавлен в backlog-archive.md (completed)
Последующие задачи из рефлексии:
1. Добавить rate limiting в модуль AUTH
2. Написать пользовательскую документацию
Добавить в бэклог? (y/n)
Контекст обновлён. Готов к новой задаче.
Следующий шаг: /dr-init или /dr-dream
Связанные команды
- /dr-qa — предыдущий этап: контроль качества
- /dr-compliance — опциональный предыдущий этап: hardening
- /dr-init — начать новую задачу
- /dr-dream — если база знаний разрослась