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

forgeplan link

Создает типизированную, направленную связь от одного артефакта к другому. Связи - это то, как Forgeplan строит граф решений; они обеспечивают работу проверок состояния, подсчета R_eff, графа зависимостей Mermaid, топологической сортировки для планирования спринтов и обнаружения слепых пятен.

Каждый значимый артефакт должен иметь хотя бы одну входящую или исходящую связь. Сироты (артефакты без связей) - это главный сигнал, выявляемый forgeplan health.

forgeplan link [OPTIONS] <SOURCE> <TARGET>
<SOURCE> ID исходного артефакта
<TARGET> ID целевого артефакта
--relation <RELATION> Тип связи: informs, based_on, supersedes, contradicts, refines [по умолчанию: informs]
-h, --help Вывести справку
-V, --version Вывести версию

Forgeplan использует закрытый словарь. Принимаются только эти пять типов связей - любое другое значение будет отклонено валидатором.

СвязьНаправление читается как…Когда использовать
informsисточник информирует цельДоказательство, подтверждающее PRD; Note, используемый в ADR. Наиболее распространенный.
based_onисточник основан на целиRFC, построенный на основе более раннего PRD; PRD, полученный из ProblemCard.
supersedesисточник замещает цельНовый ADR заменяет старый. Устанавливается автоматически командой forgeplan supersede.
contradictsисточник противоречит целиДоказательство, опровергающее решение; RFC, отвергающий более ранний подход.
refinesисточник уточняет цельSpec, который уточняет PRD; ADR, который сужает пространство проектирования RFC.

Канонический поток доказательств - свяжите новый EvidencePack с PRD, который он поддерживает:

Окно терминала
forgeplan new evidence "Benchmark: BM25 vs TF-IDF on Russian corpus"
# ... заполните verdict, congruence_level, evidence_type ...
forgeplan link EVID-001 PRD-039 --relation informs
forgeplan score PRD-039 # R_eff теперь должен быть > 0

Выведите RFC из PRD:

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

Зафиксируйте противоречие (Доказательство, которое опровергает):

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

Уточните PRD с помощью Spec:

Окно терминала
forgeplan link SPEC-003 PRD-018 --relation refines

Распространенные ошибки: несуществующие связи

Заголовок раздела «Распространенные ошибки: несуществующие связи»

Старые документы и результаты LLM иногда предлагают типы связей, которые не являются допустимыми в v0.18. Вот таблица соответствий:

Вы могли бы ввести…Используйте вместоПочему
solvesbased_on (PRD → ProblemCard)Решение основано на проблеме, которую оно решает
extendsrefines или based_onrefines для сужения области; based_on для наследования
blocksbased_on для заблокированного артефактаЗависимости выражаются тем, на чем построен дочерний элемент
depends_onbased_onТа же семантика
implementsrefinesSpec/RFC уточняет намерение PRD
referencesinformsМягкая связь по умолчанию

Если сомневаетесь, выберите informs - это нейтральная связь «этот артефакт имеет отношение к тому».

Связи являются направленными. forgeplan link PRD-001 EVID-001 --relation informs означает PRD-001 информирует EVID-001, что почти никогда не является желаемым результатом. Стандартный шаблон всегда доказательство → решение:

Окно терминала
forgeplan link EVID-001 PRD-001 --relation informs # правильно

Если вы установили связь в неправильном направлении, исправьте это с помощью forgeplan unlink, а затем создайте новую link.

Начиная с PROB-019, forgeplan link PRD-001 PRD-001 отклоняется. Это предотвращает опечатки, которые в противном случае создали бы самореферентные узлы в графе и запутали бы топологическую сортировку.

  • Связь сохраняется в таблице links в LanceDB.
  • forgeplan score пересчитывает R_eff для цели - связи informs от доказательств с verdict: supports повышают оценку.
  • forgeplan graph включает ребро в вывод Mermaid.
  • forgeplan blocked и forgeplan order повторно запускают топологическую сортировку по рёбрам based_on / refines.