fan_out_sprint_items
[SUPPORT] Bulk-insert sprint items from a single orchestrator call — decompose a goal into parallel work items without N sequential add_sprint_item calls. Pass a list of {title, description?, group?, version?} dicts; returns the list of new item_ids in insertion order. By DEFAULT (strict omitted/...
This record as markdown: /tools/io-github-ajc3xc-meridian/fan-out-sprint-items.md
What fan_out_sprint_items does on Meridian
AI agents call fan_out_sprint_items to permanently remove resources in Meridian, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | string | — | strict mode only — default 'all_or_nothing'. Ignored unless strict=true. |
items | array | Yes | List of sprint item specs. Each must have at least a 'title'. |
strict | boolean | — | 468ab67d — default false (legacy: no duplicate guard, bare item_ids/count response). Pass true to opt into the shared batch_management engine's duplicate guard |
project_id | string | — | |
project_name | string | — | Project name — an alternative to project_id; resolved to the id internally. project_id wins if both are given. |
idempotency_key | string | — | strict mode only — a retried call with the same (project_id, idempotency_key) replays the first call's stored result instead of re-inserting. Ignored unless str |
Parameters from the server's own tool schema.
Why fan_out_sprint_items is rated Critical
An AI agent that decides to call fan_out_sprint_items doesn't hesitate, doesn't double-check, and doesn't stop at one. Whatever it removes from Meridian is gone. There is no undo for destructive operations.
Risk signalsHigh parameter count (13 properties)
Attacks that exploit this kind of access
The rule that runs fan_out_sprint_items safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Meridian, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For fan_out_sprint_items, this is the rule to start with:
fan_out_sprint_items is removed from the agent's tool list entirely, so the agent never calls it. The rest of the server keeps working.
The button opens the PolicyLayer dashboard: create your workspace, connect Meridian, apply this rule, and every fan_out_sprint_items call is checked against it from then on.
Questions about fan_out_sprint_items
[SUPPORT] Bulk-insert sprint items from a single orchestrator call — decompose a goal into parallel work items without N sequential add_sprint_item calls. Pass a list of {title, description?, group?, version?} dicts; returns the list of new item_ids in insertion order. By DEFAULT (strict omitted/false) no duplicate guard is applied (the caller is assumed to have deduped) and titles that resolve to an empty string are silently skipped — unchanged, original behavior, kept for compatibility. 468ab67d — pass strict=true to opt into the SAME shared engine execute_batch uses (meridian.db.batch_management, add_sprint_item-backed): the 60%-word-overlap duplicate guard applies (per-item force:true still overrides it), idempotency_key makes a retried call with the same key replay the first call's result instead of re-inserting, and mode picks all_or_nothing (validate-then-insert with compensating rollback on failure, default) or best_effort (each item processed independently). In strict mode the response is the execute_batch response shape ({status, mode, entry_kind, project_id, idempotency_key, idempotent_replay, created_count, error_count, results:[{index, correlation_key, status, id, outcome, error_code, error_message, retryable}]}) PLUS the usual item_ids/count keys — a different, richer shape than the legacy bare item_ids/count, by design (a new opt-in contract, not a silent change to the old one). Each item may carry its own correlation_key (echoed back on its strict-mode result) and force (per-item duplicate-guard override, strict mode only). Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata are sent to and stored in Meridian's service; self-hosted deployments keep them in the configured local SQLite/Postgres database. This data is visible in the dashboard/API and later project context or handoffs. Delete individual tasks, notes, or decisions where supported, or delete the project/account using the documented controls. Do not include secrets. It is categorised as a Destructive tool in the Meridian MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
fan_out_sprint_items accepts 6 parameters: mode, items, strict, project_id, project_name, idempotency_key. Required: items. The full parameter table on this page comes from the server's own tool schema.
Register the Meridian MCP server in PolicyLayer and add a rule for fan_out_sprint_items: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Meridian. Nothing to install.
fan_out_sprint_items is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the fan_out_sprint_items rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for fan_out_sprint_items. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
fan_out_sprint_items is provided by the Meridian MCP server (@meridianmcp/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Meridian, and thousands of servers like it.
Across the catalogue