Skip to main content
Glama

Judge Frantic delivery

frantic.judge_delivery

Rule on the exact delivery attempt you inspected as the bounty's authority. Requires claim_id, delivery_attempt, decision and authority_ref. Read delivery_attempt from the current claim or review packet. A changed attempt refuses the verdict; inspect the new delivery before deciding. Acceptance consumes a funded slot and rejection sends work back for revision. Authority is sent as the bearer. Acceptance requires human quality evidence; rejection requires a public reason. POST /v1/judgments.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "claim_id": "<claim_id>",
      "delivery_attempt": "<delivery_attempt>",
      "decision": "<decision>",
      "authority_ref": "<authority_ref>"
    },
    "name": "frantic.judge_delivery"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonNoPublic reason, required for rejection by the API.
qualityNoOptional quality review.
claim_idYesClaim id to judge.
decisionYesJudgment decision.
receipt_refNoOptional external receipt reference.
authority_refYesPublic authority reference.
authority_tokenNoPrivate authority token, sent as the bearer, when configured.
delivery_attemptYesExact delivery attempt from the packet being judged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / delivery_attempt
      Added value: +{
      +  "description": "Exact delivery attempt from the packet being judged.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "claim_id",
      -  "decision",
      -  "authority_ref"
      -]New value: +[
      +  "claim_id",
      +  "delivery_attempt",
      +  "decision",
      +  "authority_ref"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / authority_token / description
      Previous value: -"Private authority token, when configured."New value: +"Private authority token, sent as the bearer, when configured."
    • removedInput schema / properties / operator_accept_approval_ref
      Removed value: -{
      -  "description": "Required for accepted judgments: approval:operator-accept:<claim-id> or another claim-scoped suffix that ends with the accepted claim id.",
      -  "type": "string"
      -}
  3. Changed1 schema field changed
    • changedInput schema / properties / operator_accept_approval_ref / description
      Previous value: -"Required for accepted judgments: approval:operator-accept:<claim-id> or another claim-scoped suffix that includes the accepted claim id."New value: +"Required for accepted judgments: approval:operator-accept:<claim-id> or another claim-scoped suffix that ends with the accepted claim id."
  4. Changed3 schema fields changed
    • addedInput schema / properties / operator_accept_approval_ref
      Added value: +{
      +  "description": "Required for accepted judgments: approval:operator-accept:<claim-id> or another claim-scoped suffix that includes the accepted claim id.",
      +  "type": "string"
      +}
    • addedInput schema / properties / quality / properties / evidence
      Added value: +{
      +  "description": "Human-readable evidence summary. Required by the API for accepted human judgments.",
      +  "type": "string"
      +}
    • addedInput schema / properties / quality / properties / rubric_results
      Added value: +{
      +  "description": "Rubric results. At least one is required by the API for accepted human judgments.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "evidence": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "type": "string"
      +      },
      +      "score": {
      +        "maximum": 5,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "score"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: acceptance consumes a funded slot, rejection returns work for revision, authority travels as the bearer, and a stale delivery_attempt is refused rather than silently applied. This complements the declared non-idempotent/openWorld profile with side-effect and concurrency semantics the annotations cannot express. It does not describe what a successful verdict returns or how the funded slot is released.

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 action and required inputs, then the guard rule, then consequences, then auth and evidence rules — a logical progression where nearly every sentence carries information. The trailing 'POST /v1/judgments' adds little for an agent and is the one sentence that does not fully earn its place.

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

Completeness4/5

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

For an 8-parameter mutation with a nested quality object and no output schema, the description covers decisions, side effects, concurrency refusal, auth, and per-branch evidence requirements. The remaining gap is the return/outcome shape and what happens to the funded slot on rejection, which an agent may want before committing.

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 100%, so the baseline is 3, but the description goes further by explaining the delivery_attempt token must match the inspected packet and by tying quality evidence to acceptance and reason to rejection. The bearer handling of authority_token is also clarified beyond its schema text. Only the optional receipt_ref is left unaddressed.

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 and resource ('Rule on the exact delivery attempt') plus the actor's role ('as the bounty's authority'), which cleanly separates it from the sibling submit_delivery/ack_claim actions. An agent knows immediately this is the terminal adjudication step, not a submission or claim action.

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?

Gives concrete when-to-use context ('Read delivery_attempt from the current claim or review packet') and a when-not/guard condition ('A changed attempt refuses the verdict; inspect the new delivery before deciding'). It also splits the two branches (acceptance vs rejection) with their respective evidence prerequisites. It stops short of naming which sibling to call to fetch the claim, which keeps it from a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.