Skip to main content
Glama

mcp_engram_scar

Prevents repeating failed fixes or dead ends by adding a geometric repeller to the memory manifold. Use for code failures, ruled-out research paths, or uncertainty receipts.

Instructions

TRIGGER: Call this immediately if you attempt a code fix and it fails, or if the user tells you an approach is a dead end. This creates a geometric repeller in the manifold so you do not hallucinate or attempt the same bad solution again in the future. For research dead-ends, pass ruled_out + why (optional preferred_alternative) to mint/update a structured scar:* via mint_research_scar (UB15). For insufficient memory anchors (not general inference), pass uncertainty_status to mint an uncertainty:* receipt instead of guessing. Default path demotes an existing concept via op_suspend.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyNoUB15 research scar: why this approach is ruled out (required with ruled_out).
conceptYesConcept to demote, scar: slug for research mint, or uncertainty slug when minting uncertainty receipt
magnitudeNoScar magnitude [0.0, 1.0]. Higher = larger CRS penalty and stronger topological deflection. Defaults to 0.15 (M-NOL default for contradiction axis spikes). Ignored for research/uncertainty mint paths.
ruled_outNoUB15 research scar: the dead-end approach being ruled out. When set with why, routes to mint_research_scar (structured scar:*). Prefer over free-form remember("scar:…").
process_contextNoOptional process:engram.* key — emits realized_by edge for process_metrics
requested_anchorsNoAnchor concepts that were sought but insufficient for a memory claim
uncertainty_statusNoWhen set, mint uncertainty:* receipt for withheld memory claim (e.g. memory_insufficient, contradictory_anchors). Scoped to recall/memory — not general inference.
preferred_alternativeNoUB15 research scar: preferred path instead of the ruled-out approach (optional).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.7.0-beta.12
    • changedInput schema / properties / concept / description
      Previous value: -"The concept name to scar (e.g. 'failed_approach_x') or uncertainty slug when minting uncertainty receipt"New value: +"Concept to demote, scar: slug for research mint, or uncertainty slug when minting uncertainty receipt"
    • changedInput schema / properties / magnitude / description
      Previous value: -"Scar magnitude [0.0, 1.0]. Higher = larger CRS penalty and stronger topological deflection. Defaults to 0.15 (M-NOL default for contradiction axis spikes)."New value: +"Scar magnitude [0.0, 1.0]. Higher = larger CRS penalty and stronger topological deflection. Defaults to 0.15 (M-NOL default for contradiction axis spikes). Ignored for research/uncertainty mint paths."
    • addedInput schema / properties / preferred_alternative
      Added value: +{
      +  "description": "UB15 research scar: preferred path instead of the ruled-out approach (optional).",
      +  "type": "string"
      +}
    • addedInput schema / properties / ruled_out
      Added value: +{
      +  "description": "UB15 research scar: the dead-end approach being ruled out. When set with why, routes to mint_research_scar (structured scar:*). Prefer over free-form remember(\"scar:…\").",
      +  "type": "string"
      +}
    • addedInput schema / properties / why
      Added value: +{
      +  "description": "UB15 research scar: why this approach is ruled out (required with ruled_out).",
      +  "type": "string"
      +}
  2. Changed4 schema fields changedv0.7.0-beta.5
    • changedInput schema / properties / concept / description
      Previous value: -"The concept name to scar (e.g. 'failed_approach_x')"New value: +"The concept name to scar (e.g. 'failed_approach_x') or uncertainty slug when minting uncertainty receipt"
    • addedInput schema / properties / process_context
      Added value: +{
      +  "description": "Optional process:engram.* key — emits realized_by edge for process_metrics",
      +  "type": "string"
      +}
    • addedInput schema / properties / requested_anchors
      Added value: +{
      +  "description": "Anchor concepts that were sought but insufficient for a memory claim",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / uncertainty_status
      Added value: +{
      +  "description": "When set, mint uncertainty:* receipt for withheld memory claim (e.g. memory_insufficient, contradictory_anchors). Scoped to recall/memory — not general inference.",
      +  "type": "string"
      +}
  3. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, so the description carries the burden. It discloses effects: creates a geometric repeller, demotes via op_suspend, mints receipts, and notes that magnitude is ignored for research/uncertainty paths. It does not discuss reversibility or permissions, but for an action tool with no annotations, this is strong.

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?

The description is long but structured with a TRIGGER prefix and conditional branches. Every sentence adds necessary information for a complex multi-mode tool. It is dense and requires careful reading, but there is no fluff or redundancy.

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 a tool with multiple modes and no output schema, the description covers triggers, parameter routing, and default behavior. It lacks error/return information, but that is less critical for a side-effect tool. References domain concepts (CRS penalty, M-NOL) that are unexplained but likely part of the system's vocabulary.

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 baseline is 3. The description adds crucial routing semantics: which parameter combinations trigger which paths (ruled_out+why, uncertainty_status) and when magnitude is ignored. This is meaningful behavioral context 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?

The description states a specific verb and resource: creates a geometric repeller to prevent repeating bad solutions. It clearly distinguishes from sibling tools like remember and forget by describing the unique mechanism and routing paths (research scar, uncertainty receipt, default demotion).

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

Usage Guidelines5/5

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

Begins with an explicit TRIGGER condition: call after a failed code fix or dead end. Provides detailed guidance for research dead-ends (pass ruled_out+why via mint_research_scar) and insufficient memory anchors (use uncertainty_status), and explicitly prefers structured scar over free-form remember. It covers when to use which parameters.

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