Skip to main content
Glama
Pseudogiant-xr

PseudoLife-MCP

Official

memory_supersede

Destructive

Mark a stored memory obsolete and store its replacement, so retrieval ranks the correction higher and shows both entries together.

Instructions

Mark a stored memory obsolete and record its replacement. The old entry is kept but flagged superseded, so retrieval ranks the correction higher and shows both together.

Use exactly one selector. Missing, retired, or ambiguous targets cause no mutation; search again and resubmit an ID. No similarity fallback.

Returns: {superseded_count, superseded_texts, superseded_ids, new_memory_stored, derived_flagged} — the last being the canonical facts the dream built on the memories just corrected. They are FLAGGED, never rewritten; check each and re-assert the ones that moved. Each row carries has_current_value: false means the slot holds no current fact any more — blast radius worth seeing, but nothing to go re-check. The list is capped, live slots first; derived_flagged_truncated / derived_flagged_total say when a correction reached further than the cap.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entry_idNoPositive search/recent ID in this bank; preferred selector.
new_textYesThe replacement claim; stored fresh.
old_textNoUnique exact stored text; omit with entry_id.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.16.0
    • addedInput schema / properties / entry_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Positive search/recent ID in this bank; preferred selector.",
      +  "title": "Entry Id"
      +}
    • addedInput schema / properties / old_text / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / old_text / default
      Added value: +null
    • changedInput schema / properties / old_text / description
      Previous value: -"The memory now obsolete. Matched exact-text first, then by nearest embedding — a close paraphrase works."New value: +"Unique exact stored text; omit with entry_id."
    • removedInput schema / properties / old_text / type
      Removed value: -"string"
    • changedInput schema / required
      Previous value: -[
      -  "old_text",
      -  "new_text"
      -]New value: +[
      +  "new_text"
      +]
  2. Changed2 schema fields changedv0.15.0
    • addedInput schema / properties / new_text / description
      Added value: +"The replacement claim; stored fresh."
    • addedInput schema / properties / old_text / description
      Added value: +"The memory now obsolete. Matched exact-text first, then by nearest embedding — a close paraphrase works."
  3. First observedv0.11.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint/readOnlyHint/idempotentHint). It discloses that the old entry is retained-but-flagged, that failed selectors produce no mutation, that there is no similarity fallback, and how derived facts are FLAGGED (never rewritten) with truncation-cap semantics — all material behavior an agent needs before mutating.

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-loads purpose and selector rules before the returns detail; every section is dense with operative content. The Returns block is long and partly overlaps the output schema, but its semantic interpretation (has_current_value, truncation flags) is not pure repetition.

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 destructive mutation with an output schema and full annotation coverage, this is essentially complete: purpose, selector rules, failure behavior, and return semantics are all covered. Minor redundancy with the output schema keeps it from a 5.

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 adds real semantic value: 'Use exactly one selector,' telling the agent entry_id and old_text are mutually exclusive alternatives and that entry_id is preferred. That constraint is not obvious from the schema alone.

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+resource ('Mark a stored memory obsolete and record its replacement') and immediately clarifies the distinguishing semantic: the old entry is kept but flagged, so retrieval ranks the correction higher. This separates it from deletion-style siblings like memory_forget without needing to name them.

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 clear operating guidance: 'Use exactly one selector,' failure modes (missing/retired/ambiguous targets cause no mutation), and the remediation ('search again and resubmit an ID'). It does not explicitly name which sibling to use instead of this tool (e.g. forget vs supersede vs reinstate), so it stops short of full alternative routing.

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