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

forgeplan_fpf_rules

Возвращает активный набор правил FPF - деревья условий, которые определяют рекомендации Forgeplan по действиям. Каждое правило имеет имя, приоритет, категорию действия (EXPLORE / INVESTIGATE / EXPLOIT), условие, которое оценивается по состоянию артефакта, и сообщение, объясняющее результирующее действие. Правила загружаются из .forgeplan/config.yaml (fpf.rules), если он присутствует, в противном случае - из встроенных значений по умолчанию (PRD-041).

Категория: База знаний FPF

  • “Какие правила действуют в этом рабочем пространстве?” - агент хочет получить список перед отладкой неожиданного действия.
  • “Покажи мне только правила EXPLORE” - сузить область просмотра при работе с артефактами с низким уровнем доверия.
  • “Правило X из конфигурации или из значений по умолчанию?” - используйте source, чтобы определить, загружено ли пользовательское переопределение.
  • “Дай мне однострочное резюме каждого правила” - передайте summary: true, чтобы пропустить полные деревья условий.

Движок Forgeplan рекомендует действия на основе пороговых значений R_eff (настраиваемых через fpf.thresholds в конфигурации). Три категории:

КатегорияДиапазон R_eff по умолчаниюЗначениеТипичные эффекты правил
EXPLORER_eff < explore_reff (по умолчанию 0.33)Доверие слишком низкое - рассматривать как гипотезуДобавить доказательства, расширить гипотезы, уменьшить объём
INVESTIGATEexplore_reff ≤ R_eff < investigate_reff (по умолчанию 0.66)Доверие частичное - тестировать, измерятьЗапустить бенчмарки, состязательная ревью, сузить гипотезы
EXPLOITR_eff ≥ exploit_reff (по умолчанию 0.66)Доверие высокое - действоватьВыпустить, активировать, заместить, применить

Глубина влияет на пороговые значения: более высокая глубина (Deep / Critical) повышает планку для EXPLOIT, поэтому критический артефакт требует более сильных доказательств, чем тактический, чтобы попасть в ту же категорию.

ИмяТипОбязательныйОписание
actionstringnoФильтровать по одной категории: "EXPLORE" / "INVESTIGATE" / "EXPLOIT". Опустите для всех.
namestringnoПолучить одно правило по точному имени. Вызывает ошибку, если не найдено.
summaryboolnoЕсли true, возвращает только {name, priority, action} для каждого правила - без деревьев условий и сообщений. По умолчанию false.
sourcestringnoФильтровать по источнику: "config" (пользовательские переопределения) или "default" (встроенные). Полезно для отладки загрузки конфигурации.

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

Полный режим (по умолчанию):

{
"source_in_use": "config",
"count": 14,
"rules": [
{
"name": "low_trust_explore",
"priority": 10,
"action": "EXPLORE",
"condition": {
"all": [
{ "field": "r_eff", "op": "lt", "value": 0.33 },
{ "field": "status", "op": "eq", "value": "draft" }
]
},
"message": "R_eff below explore threshold; add evidence before deciding.",
"source": "config"
}
]
}

Режим сводки (summary: true):

{
"count": 14,
"rules": [
{ "name": "low_trust_explore", "priority": 10, "action": "EXPLORE" },
{ "name": "stale_investigate", "priority": 20, "action": "INVESTIGATE" },
{ "name": "high_trust_exploit", "priority": 30, "action": "EXPLOIT" }
]
}

Перечислить все правила:

{}

Только правила EXPLORE, в виде сводки:

{ "action": "EXPLORE", "summary": true }

Получить конкретное правило по имени:

{ "name": "high_trust_exploit" }

Отладка: действительно ли загружены мои переопределения конфигурации?

{ "source": "config" }
forgeplan_fpf_rules ← инвентаризация
forgeplan_fpf_check { id: "PRD-19" } ← какое правило применяется для этого артефакта
forgeplan_fpf_section { id: "B.3" } ← почему движок так считает