forgeplan_fpf_rules
Returns the active FPF rule set — the condition trees that drive Forgeplan’s action recommendations. Each rule has a name, a priority, an action bucket (EXPLORE / INVESTIGATE / EXPLOIT), a condition that evaluates against an artifact’s state, and a message explaining the resulting action. Rules are loaded from .forgeplan/config.yaml (fpf.rules) if present, otherwise from the built-in defaults (PRD-041).
Category: FPF Knowledge Base
When an agent calls this
Section titled “When an agent calls this”- “Which rules are currently in effect for this workspace?” — the agent wants an inventory before debugging a surprising action.
- “Show me only the EXPLORE rules” — narrow the view when reasoning about low-trust artifacts.
- “Is rule X from config or from defaults?” — use
sourceto diagnose whether a custom override is actually loaded. - “Give me a one-line summary of every rule” — pass
summary: trueto skip the full condition trees.
Action buckets
Section titled “Action buckets”Forgeplan’s engine recommends actions based on R_eff thresholds (configurable via fpf.thresholds in config). The three buckets are:
| Bucket | Default R_eff range | Meaning | Typical rule effects |
|---|---|---|---|
| EXPLORE | R_eff < explore_reff (default 0.33) | Trust too low — treat as hypothesis | Add evidence, widen hypotheses, reduce scope |
| INVESTIGATE | explore_reff ≤ R_eff < investigate_reff (default 0.66) | Trust partial — test, measure | Run benchmarks, adversarial review, narrow hypotheses |
| EXPLOIT | R_eff ≥ exploit_reff (default 0.66) | Trust high — act | Ship, activate, supersede, enforce |
Depth influences thresholds: higher depth (Deep / Critical) raises the bar for EXPLOIT, so a Critical artifact needs stronger evidence than a Tactical one to earn the same bucket.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
action | string | no | Filter to one bucket: "EXPLORE" / "INVESTIGATE" / "EXPLOIT". Omit for all. |
name | string | no | Fetch a single rule by exact name. Errors if not found. |
summary | bool | no | If true, returns only {name, priority, action} per rule — no condition trees, no messages. Default false. |
source | string | no | Filter by origin: "config" (user overrides) or "default" (built-ins). Useful for debugging config loading. |
Schema source: crates/forgeplan-mcp/src/server.rs::FpfRulesParams
Returns
Section titled “Returns”Full mode (default):
{ "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 mode (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" } ]}Example invocation
Section titled “Example invocation”List all rules:
{}Only EXPLORE rules, summary form:
{ "action": "EXPLORE", "summary": true }Fetch a specific named rule:
{ "name": "high_trust_exploit" }Debug: are my config overrides actually loaded?
{ "source": "config" }Typical sequence
Section titled “Typical sequence”forgeplan_fpf_rules ← inventoryforgeplan_fpf_check { id: "PRD-19" } ← which rule wins for this artifactforgeplan_fpf_section { id: "B.3" } ← why the engine thinks that wayCLI equivalent
Section titled “CLI equivalent”forgeplan fpf rules— same listing in the terminal.
See also
Section titled “See also”- MCP overview
forgeplan_fpf_check— evaluate rules against a specific artifactforgeplan_fpf_list— knowledge base catalogueforgeplan_score— compute the R_eff that rules match against