Skip to main content
Glama

record_fix

Log a verified fix and close the associated issue once tests pass or the user confirms, updating the project's memory with the resolution.

Instructions

Record a confirmed fix and close an issue.

Only call AFTER you have evidence the fix works: test passes, error is gone,
or the user confirmed.

If `issue_id` is provided, the fix is attached to that specific issue.
If `issue_id` is omitted, the active issue is closed.

Side effects: appends a `fix` event and updates summary.md. The active-issue
marker is cleared only when the active issue is the issue being fixed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoWhich project this call is about — a registered id, alias, or absolute path (e.g. 'ossdrop'). Omit it when the server was started for a single repo, or when an active project is set with `pjm project use`. Call list_projects to see the registered names.
summaryYesOne-line description of the confirmed fix (e.g., 'guarded submit handler with isSubmitting ref').
issue_idNoOptional zero-padded issue ID (e.g., '0042') to close. When omitted, closes the active issue. Numeric strings without padding are accepted.
locationNoOptional file path or component where the fix was applied.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.2
    • addedInput schema / properties / project
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Which project this call is about — a registered id, alias, or absolute path (e.g. 'ossdrop'). Omit it when the server was started for a single repo, or when an active project is set with `pjm project use`. Call list_projects to see the registered names.",
      +  "title": "Project"
      +}
  2. Changed1 schema field changedv0.1.5
    • addedInput schema / properties / issue_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional zero-padded issue ID (e.g., '0042') to close. When omitted, closes the active issue. Numeric strings without padding are accepted.",
      +  "title": "Issue Id"
      +}
  3. Changed2 schema fields changedv0.1.3
    • addedInput schema / properties / location / description
      Added value: +"Optional file path or component where the fix was applied."
    • addedInput schema / properties / summary / description
      Added value: +"One-line description of the confirmed fix (e.g., 'guarded submit handler with isSubmitting ref')."
  4. First observedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well. It discloses concrete side effects: appends a fix event, updates summary.md, and clears the active-issue marker only when the active issue is the one being fixed.

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 front-loaded with the core purpose, followed by a crisp precondition, concise parameter behavior, and side effects. Every sentence earns its place with no redundant wording or restating of schema details.

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?

The description covers the essential context: when to call, what it does with or without issue_id, and what side effects to expect. It does not explicitly state what happens if there is no active issue and issue_id is omitted, but the overall guidance is sufficient for correct invocation in normal use.

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. The description adds meaningful semantics beyond the schema: issue_id omitted closes the active issue, omitted project implies active project, and summary should be a one-line description. This enriches the agent's understanding of the parameters.

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?

The description states a specific action—record a confirmed fix and close an issue—and clarifies the issue_id behavior clearly. This distinguishes it from siblings like record_attempt (recording a try) and log_issue (logging a problem), so agents can pick it correctly.

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?

The description explicitly says 'Only call AFTER you have evidence the fix works' and explains the conditional behavior when issue_id is provided versus omitted. It does not name alternative sibling tools, but the precondition and selection logic are clear enough for correct use.

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