Skip to main content
Glama

memory_promote

Advance a project memory through review states—proposed, approved, published—or reject it with a note. Rejected memories stay available for revision and resubmission.

Instructions

Advance a project memory one step up the review ladder (proposed → approved → published), or reject it with a note. Rejected memories are never deleted — they can be revised and resubmitted. (MCP server and the open-memex promote CLI; the opencode native plugin does not expose this tool.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
byNoReviewer name override.
idYesProject memory id.
noteNoReview note recorded on reject.
rejectNoReject instead of advancing.
resubmitNoMove rejected back to proposed for another round.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does disclose meaningful behavior: only one step of progression at a time, rejection requires a note, rejected memories are never deleted and can be revised and resubmitted. It also usefully notes the tool is exposed by the MCP server/CLI but not the opencode native plugin. It omits permission/auth requirements and what happens when a memory is already at the top of the ladder.

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?

Three sentences, front-loaded with the primary action and the ladder states, then the reject/undelete semantics. The trailing parenthetical about CLI and plugin exposure is environment metadata that is slightly tangential but still relevant to availability, so it isn't pure waste.

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?

For a five-parameter mutation tool with no annotations and no output schema, the description covers the core transition and rejection behavior but says nothing about success results, error cases (already published, unknown id), or who may approve. It is adequate but leaves real gaps for an agent invoking it blind.

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 description coverage is 100%, so 3 is the baseline. The prose adds meaning beyond the schema by explaining the reject-with-note flow and the revise/resubmit cycle, which contextualizes the reject, note, and resubmit parameters. The by (reviewer override) parameter is never explained in the description.

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 gives a specific verb and resource — advance a project memory up a named review ladder (proposed → approved → published) — and covers the alternate action of rejecting with a note. It doesn't name or distinguish itself from the many close siblings (memory_submit, memory_propose, memory_resolve, memory_supersede), so an agent must still infer which of those handles other lifecycle transitions.

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?

Usage is implied rather than stated: you call it when a memory needs to move one ladder step or be rejected. There is no explicit when-not guidance and no named alternative (e.g. 'use memory_submit for a new memory'), which matters given ten sibling tools with overlapping review semantics.

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