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

forgeplan unlink

Удаляет типизированную связь между двумя артефактами. Обратная операция для forgeplan link. Используйте unlink, чтобы исправить ошибки - неправильное направление, неправильный тип связи, просроченная связь, оставшаяся от замещённого решения - без ручного переписывания markdown.

forgeplan unlink [OPTIONS] <SOURCE> <TARGET>
<SOURCE> ID исходного артефакта
<TARGET> ID целевого артефакта
--relation <RELATION> Тип связи для удаления [по умолчанию: informs]
-h, --help Вывести справку
-V, --version Вывести версию
  1. Ищет связь в таблице links LanceDB по ключу (source, target, relation).
  2. Удаляет строку, если найдена.
  3. Обновляет все производные кэши - score, graph и blocked отразят изменение при следующем запуске.
  4. Завершает работу без ошибок, даже если соответствующая связь не существует, что делает команду идемпотентной и безопасной для использования в скриптах.

Отмена связи не удаляет ни один из артефактов. Она только удаляет ребро.

Исправление ссылки с неправильным направлением:

Окно терминала
forgeplan unlink PRD-001 EVID-001 --relation informs
forgeplan link EVID-001 PRD-001 --relation informs

Удаление просроченной based_on после замещения родительского элемента:

Окно терминала
forgeplan unlink RFC-006 PRD-025 --relation based_on
forgeplan link RFC-006 PRD-030 --relation based_on

Удаление ребра contradicts, которое было записано по ошибке:

Окно терминала
forgeplan unlink EVID-017 ADR-004 --relation contradicts

Флаг --relation должен соответствовать типу ребра, которое вы хотите удалить. Если вы связали EVID-001 → PRD-001 с помощью --relation informs, вызов forgeplan unlink EVID-001 PRD-001 --relation based_on не даст никакого эффекта, потому что такого ребра не существует.

Если сомневаетесь, сначала проверьте граф:

Окно терминала
forgeplan graph PRD-001 # показать все рёбра, связанные с PRD-001
forgeplan show PRD-001 --links # вывести связи в табличной форме

Поскольку самосвязи не могут быть созданы (см. forgeplan link), forgeplan unlink PRD-001 PRD-001 никогда не найдёт совпадения и завершит работу без эффекта.

  • forgeplan score пересчитывает R_eff для целевого элемента. Если вы удалите единственное поддерживающее ребро informs, оценка упадёт до 0, и артефакт станет слепым пятном на forgeplan health.
  • forgeplan blocked и forgeplan order повторно запускают топологическую сортировку.
  • Граф Mermaid из forgeplan graph теряет ребро.
  • Unlink идемпотентен - запуск дважды даёт тот же эффект, что и запуск один раз. Нет ошибки при отсутствии ребра.
  • Чтобы полностью удалить артефакт (включая все его связи), используйте forgeplan delete - он каскадно удаляет связи за один проход.
  • Прямые изменения файлов .forgeplan/<kind>s/<id>.md никогда не затрагивают таблицу links. Если вам нужно вручную отредактировать связи, запустите forgeplan scan-import после этого.