Перейти к содержимому
FRGEPLAN

forgeplan reopen

forgeplan reopen - это переход “давайте подумаем об этом снова”. Он отменяет текущий артефакт (переводя его в конечное состояние deprecated с указанной вами причиной) и одновременно создает новый артефакт-черновик того же типа, связанный с оригиналом в качестве указателя родословной. Используйте его, когда решение устарело и требует новой проработки через Shape → Validate → ADI вместо быстрого продления. В отличие от supersede, вы не заменяете его уже активным преемником - вы начинаете исследование заново.

  • ADR просрочился, и по результатам ревью было решено, что сам подход нуждается в переосмыслении, а не просто в продлении срока действия.
  • Исходные предположения PRD больше не соответствуют реальности, и вы хотите переписать его, а не просто внести исправления.
  • RefreshReport выявил множество тревожных сигналов по ранее активному решению - переоткройте его, чтобы начать новый черновик.
  • ProblemCard, который вы считали решенным, вновь появился в новой форме, и вам нужен новый артефакт, чтобы переопределить его область действия.
  • Решение все еще актуально и просто нуждается в обновлении срока действия - используйте forgeplan renew.
  • У вас уже есть активная замена - используйте forgeplan supersede с --by.
  • Решение просто выведено из эксплуатации, и ему нет замены - используйте forgeplan deprecate.
  • Вам нужна небольшая поправка - отредактируйте артефакт напрямую или создайте последующий артефакт, не затрагивая текущий.
forgeplan reopen --reason <REASON> <ID>
<ID> ID артефакта для переоткрытия
--reason <REASON> Причина переоткрытия
-h, --help Вывести справку
-V, --version Вывести версию

Пример 1: Переоткрыть ADR для полной переоценки

Заголовок раздела «Пример 1: Переоткрыть ADR для полной переоценки»
Окно терминала
forgeplan reopen ADR-007 --reason "стратегия хранения требует переосмысления после изменений в LanceDB v0.8"

ADR-007 переходит в состояние deprecated (конечное), и создается новый черновик ADR со ссылкой на родословную, указывающей на ADR-007. Заполните его и проведите через обычный цикл Shape → Validate → ADI.

Пример 2: Переоткрыть PRD, чьи предположения изменились

Заголовок раздела «Пример 2: Переоткрыть PRD, чьи предположения изменились»
Окно терминала
forgeplan reopen PRD-010 --reason "целевые пользователи изменились после исследования персон в 1 квартале 2026 года"

Новый черновик наследует тип (PRD) и связывается как преемник, находящийся на переоценке. Старый PRD остается читаемым для исторического контекста.

Пример 3: Использование reopen как части цикла обновления

Заголовок раздела «Пример 3: Использование reopen как части цикла обновления»
Окно терминала
forgeplan stale
forgeplan refresh ADR-012
forgeplan reopen ADR-012 --reason "отчет об обновлении выявил 3 недействительных инварианта"

Комбинируйте с refresh, когда переоценка требует структурированного отчета до открытия нового черновика.

Reopen - это самый затратный переход в жизненном цикле: он перезапускает цикл Shape → Validate → ADI → Code → Evidence → Activate для всего решения. После переоткрытия вы должны рассматривать новый черновик как артефакт полной глубины - заполните разделы MUST, запустите forgeplan reason, если глубина этого требует, создайте новые доказательства, и только затем активируйте. Старый артефакт сохраняется в конечном состоянии, поэтому ссылки из исторического контекста (другие артефакты, история git, предыдущие обсуждения) по-прежнему разрешаются. Обращайтесь к нему, когда простое renew скрыло бы реальное изменение, и когда еще нет преемника, чтобы supersede с ним.

ОшибкаПричинаИсправление
--reason обязателенФлаг пропущенПередайте --reason "...", объясняющий, почему требуется переоценка
Невозможно переоткрыть из черновикаОригинал никогда не был активированВместо этого отредактируйте существующий черновик напрямую
Невозможно переоткрыть из конечного состоянияУже deprecated или supersededСоздайте новый артефакт с нуля с помощью forgeplan new
Создан новый черновик, но он все еще пустОжидаемо - reopen только создает основуОткройте новый черновик, заполните разделы MUST, затем валидируйте