Skip to main content
Glama
Parker-Fawcett

rebuild-dossier

Resolve case

resolve_case
DestructiveIdempotent

Resolve an open case by submitting a human decision and optional note. Provide the repository path, case ID, and decision (e.g., intentional or bug) to close the case.

Instructions

Resolve one open case with a human decision. Always available, no elicitation capability required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe case id to resolve, as returned by get_case_queue (e.g. "case:...")
noteNoOptional free-text note explaining the decision
decisionYesFree-text decision, e.g. "intentional" or "bug" — stored verbatim, not a fixed enum
repoPathYesRepo path whose .dossier/ this case belongs to

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
statusYes
signalsYes
conflictNo
topicKeyYes
humanDecisionNo
autoResolutionNo
relatedCaseIdsNo
matchedKnownBugsYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changedv0.2.6-paper
    • addedInput schema / properties / decision / description
      Added value: +"Free-text decision, e.g. \"intentional\" or \"bug\" — stored verbatim, not a fixed enum"
    • addedInput schema / properties / id / description
      Added value: +"The case id to resolve, as returned by get_case_queue (e.g. \"case:...\")"
    • addedInput schema / properties / note / description
      Added value: +"Optional free-text note explaining the decision"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "autoResolution": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "decision": {
      +          "enum": [
      +            "intentional",
      +            "bug"
      +          ],
      +          "type": "string"
      +        },
      +        "reason": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "decision",
      +        "reason"
      +      ],
      +      "type": "object"
      +    },
      +    "conflict": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "type": "string"
      +        },
      +        "kind": {
      +          "enum": [
      +            "known_bug_vs_intentional_evidence",
      +            "signal_disagreement"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "humanDecision": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "decidedAt": {
      +          "type": "string"
      +        },
      +        "decision": {
      +          "type": "string"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "via": {
      +          "enum": [
      +            "elicitation",
      +            "resolve_case_tool"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "decision",
      +        "decidedAt",
      +        "via"
      +      ],
      +      "type": "object"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "matchedKnownBugs": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "relatedCaseIds": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "signals": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "affirmativeIntent": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "confidence": {
      +                "maximum": 1,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "kind": {
      +                "enum": [
      +                  "comment",
      +                  "docstring",
      +                  "todo",
      +                  "fixme"
      +                ],
      +                "type": "string"
      +              },
      +              "locator": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "endLine": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  "file": {
      +                    "type": "string"
      +                  },
      +                  "startLine": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "file",
      +                  "startLine",
      +                  "endLine"
      +                ],
      +                "type": "object"
      +              },
      +              "text": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "text",
      +              "locator",
      +              "confidence"
      +            ],
      +            "type": "object"
      +          },
      +          "claim": {
      +            "type": "string"
      +          },
      +          "detectedAt": {
      +            "type": "string"
      +          },
      +          "evidenceText": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "locator": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "endLine": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  "file": {
      +                    "type": "string"
      +                  },
      +                  "startLine": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "file",
      +                  "startLine",
      +                  "endLine"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "method": {
      +                    "type": "string"
      +                  },
      +                  "path": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "path"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "source": {
      +            "enum": [
      +              "ingest",
      +              "crawl",
      +              "known_bug"
      +            ],
      +            "type": "string"
      +          },
      +          "topicKey": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "source",
      +          "locator",
      +          "topicKey",
      +          "claim",
      +          "evidenceText",
      +          "detectedAt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "enum": [
      +        "auto_resolved",
      +        "open",
      +        "resolved_by_human"
      +      ],
      +      "type": "string"
      +    },
      +    "topicKey": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "topicKey",
      +    "signals",
      +    "matchedKnownBugs",
      +    "status"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already carry the safety profile (destructiveHint=true, idempotentHint=true), and the description adds the useful operational trait that the tool is always available and requires no elicitation capability. It does not, however, disclose what resolution actually changes (e.g., case status or removal from the queue), leaving the side effect only implied by the destructive hint.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the primary purpose and followed by a concise availability note. Every word earns its place; there is no redundancy or filler.

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

Completeness3/5

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

The tool benefits from rich annotations, 100% parameter documentation, and an output schema, so the description need not explain return values. Still, it omits the practical effect of resolving a case (e.g., the case disappearing from get_case_queue) and provides no guidance about when to prefer this over the closely related sibling flag_known_bug, leaving a small but real completeness gap.

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?

With 100% schema description coverage, the baseline is 3. The description adds the key semantic that the decision must be a human decision, which is not stated in the schema's decision property text and helps prevent an agent from fabricating a decision on its own. This one meaningful addition justifies a score above baseline.

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

Purpose4/5

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

The description states a specific verb and resource: 'resolve one open case' with the key qualifier 'with a human decision.' It is not a tautology and clearly outlines the core action, but it does not explicitly contrast with sibling tools like flag_known_bug or get_case_queue, so it falls short of full differentiation.

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

Usage Guidelines3/5

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

The phrase 'Always available, no elicitation capability required' gives some operational context about when the tool can be invoked, implying it is the standard path for resolving a case. However, it never names alternatives or conditions when another sibling should be used instead, so guidance is mostly implicit rather than explicit.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Parker-Fawcett/rebuild-dossier'

If you have feedback or need assistance with the MCP directory API, please join our Discord server