Skip to main content
Glama
Mipiti
by Mipiti

Submit Control Delta

submit_control_delta

Submit a draft of a control's delta: edits to the behavioural model, each quoting the control's own text. Mutating; writes no control, set revision or model version.

Instructions

Submit a draft of a control's delta: edits to the behavioural model, each quoting the control's own text. Mutating; writes no control, set revision or model version.

Each edit's quote must be found in the control's text (a quote's source defaults to the control), and unexpressed lists what the text commits to that no edit states. An edit that does not check is refused (422 delta_refused) with its failures.

A submission is a draft, never a declaration: it is checked against the text by one call billed to the caller (402 when the balance is short), so it can never make the analysis credit a control alone, and a program's never replaces a delta a person declared (409 declared_by_person). A person declares a draft with declare_control_delta.

Returns the delta as get_control_delta does, with check_ran.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
editsYesJSON array of edit objects, each with a ``trace`` of quotes from the control's text.
model_idYesID of the threat model.
control_idYesID of the control.
unexpressedNoJSON array of ``{"kind", "quote", "note"}``.[]
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.87.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so richly: it is mutating but 'writes no control, set revision or model version'; failed checks yield 422 `delta_refused`; insufficient balance yields 402; a person-declared delta yields 409 `declared_by_person`. This is exactly the behavioral context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the validation and billing/conflict semantics. Dense but each clause earns its place; the parenthetical error codes aid scanning. Slightly long, but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and an output schema, the description covers validation, billing, conflict behavior, and return shape (as `get_control_delta` does, with `check_ran`). Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (80%), so a baseline of 3 applies, but the description adds genuine semantic value: quotes must be found in the control's text, a quote's `source` defaults to the control, and `unexpressed` lists commitments no edit states. This clarifies the meaning of the two JSON-array parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (submit) and resource (a control's delta) with scope: 'edits to the behavioural model, each quoting the control's own text.' It distinguishes itself from the sibling `declare_control_delta` by framing the output as a draft, not a declaration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states it is 'a draft, never a declaration' and routes the agent to `declare_control_delta` for the declaration path. It clearly implies when to use it (submitting provisional edits), though it doesn't explicitly contrast against `get_control_delta` beyond the return-shape comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools