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

forgeplan_discover_start

Запускает новую сессию обнаружения brownfield - структурированный протокол, которому агент следует, когда он попадает в существующую кодовую базу без предварительных артефактов ForgePlan. Вместо того чтобы агент изобретал собственный порядок исследования, ForgePlan возвращает семифазный протокол (detect / structure / code / git / tests / docs / synthesize) с явными приоритетами уровней источников, и затем агент проходит по нему, вызывая forgeplan_discover_finding для каждого наблюдения. При вызове forgeplan_discover_complete собранные результаты синтезируются в предлагаемые PROBs / PRDs / RFCs (выводятся на печать, не создаются автоматически).

Категория: Обнаружение Brownfield

  • Первая сессия в незнакомом репозитории - «что это за проект и в каком он состоянии?»
  • Внедрение устаревшей кодовой базы в методологию Forgeplan без создания артефактов из ничего.
  • После крупного слияния или поглощения, когда агенту необходимо перестроить карту кодовой базы, прежде чем предлагать новые решения.
  • Перед PRD миграции - обнаружение делает состояние «как есть» явным, чтобы цели миграции были обоснованными.

Протокол обнаружения намеренно управляется агентом: ForgePlan никогда не читает исходные файлы самостоятельно. Он указывает агенту, что искать и в каком порядке уровней, а затем принимает результаты.

Протокол обеспечивает строгий порядок приоритетов, чтобы результаты основывались на авторитетных доказательствах, а не на расхождениях в документации:

УровеньИсточникПочему
1Исходный код (src/, lib/, app/)Истина в последней инстанции - код это то, что фактически выполняется.
2История Git (git log, коммиты, теги, примечания к выпускам)Намерения с течением времени - раскрывает решения, откаты и траекторию.
3Тесты (tests/, spec/)Поведенческие контракты - закрепляет предполагаемую семантику.
4Документация (README, docs/, вики)Последний, потому что часто устаревает по сравнению с кодом.

Результаты из более высокого уровня переопределяют результаты из более низкого уровня при их конфликте.

ИмяТипОбязательныйОписание
project_namestringyesЧеловекочитаемое имя для сессии обнаружения (например, "legacy-billing-service"). Используется в качестве префикса идентификатора сессии и в итоговом отчёте.

Источник схемы: crates/forgeplan-mcp/src/server.rs::DiscoverStartParams

Дескриптор сессии плюс полная полезная нагрузка протокола:

{
"session_id": "discover-legacy-billing-service-2026-04-11T10:15:00Z",
"project_name": "legacy-billing-service",
"phases": [
{ "name": "detect", "goal": "Обнаружение стека технологий, системы сборки, языков", "tier_order": [1, 4] },
{ "name": "structure", "goal": "Составление карты модулей верхнего уровня и границ", "tier_order": [1] },
{ "name": "code", "goal": "Чтение точек входа и критически важных модулей", "tier_order": [1, 3] },
{ "name": "git", "goal": "Сканирование истории коммитов на предмет решений / откатов", "tier_order": [2] },
{ "name": "tests", "goal": "Идентификация поведенческих контрактов и пробелов", "tier_order": [3, 1] },
{ "name": "docs", "goal": "Согласование документации и кода (отметить расхождения)", "tier_order": [4, 1] },
{ "name": "synthesize", "goal": "Предложение PROBs / PRDs / RFCs на основе результатов", "tier_order": [] }
],
"instructions": "Для каждой фазы просматривайте файлы в указанном порядке уровней, затем вызывайте forgeplan_discover_finding для каждого наблюдения. Завершите с помощью forgeplan_discover_complete."
}
{ "project_name": "legacy-billing-service" }
forgeplan_discover_start
↓ возвращает session_id + 7-фазный протокол
forgeplan_discover_finding (tier=1, phase=detect, …)
forgeplan_discover_finding (tier=1, phase=structure, …)
forgeplan_discover_finding (tier=1, phase=code, …)
forgeplan_discover_finding (tier=2, phase=git, …)
forgeplan_discover_finding (tier=3, phase=tests, …)
forgeplan_discover_finding (tier=4, phase=docs, …)
forgeplan_discover_complete (session_id)
↓ выводит предлагаемые PROBs / PRDs / RFCs

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

  • forgeplan discover start - тот же процесс из терминала, для оператора-человека.