Skip to main content
Glama

agy_discussion_memory

Replaces client-maintained working memory with a versioned, source-backed snapshot for a discussion, then checkpoints it into linked project history without a model call.

Instructions

Replace the client-maintained working memory with a versioned snapshot, not inferred consensus. No model call. Read first; expected version is 0 initially. Linked project discussions also checkpoint this memory into their persistent project. memory has facts/disagreements/next_steps lists of {text,sources:[message ids]}, and positions list of {participant,view,reason,sources}. Each source must be a successful message; each position needs that participant's own source. At most 8 rows/section and 4500 UTF-16 units total. Keep disagreements and reasons, never invent verification. Full snapshot and current plan enter later discussion prompts; initial judgments stay isolated. Pending/closed tasks reject edits.

Input Schema

NameRequiredDescriptionDefault
memoryYes
reasonYes
discussion_idYes
expected_memory_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A4.2/5.0
Behavior5/5

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

Beyond annotations, it discloses versioning semantics, no-model-call behavior, downstream checkpointing into linked project discussions, source validation rules, row and size limits, prompt inclusion effects, and rejection for pending/closed discussions. These are substantial behavioral details not available in the structured fields.

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 definition is dense but front-loads the core action and then adds constraints and side effects, with little obvious waste. Some clauses are telegraphic and could be organized more clearly, but the content is relevant for a complex mutation.

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 complex nested mutation with no output schema, it covers structure, validation, limits, versioning, downstream effects, and rejection states well. It still leaves the purpose of 'reason' and the return/error behavior on version mismatch implicit, so it is not fully complete.

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 0% and the nested memory object is undocumented structurally, but the description compensates heavily by defining facts/disagreements/next_steps and positions shapes, source requirements, and limits. It also partially explains expected_memory_version, though the 'reason' parameter remains unexplained.

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 action and resource: replace the client-maintained working memory with a versioned snapshot. It distinguishes this from inferred consensus and notes 'No model call', which helps separate it from discussion turn/note siblings, though no sibling is named directly.

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?

It gives clear operational ordering ('Read first') and version expectations ('expected version is 0 initially'), plus an explicit rejection condition ('Pending/closed tasks reject edits'). It does not explicitly name alternative tools such as agy_discussion_note or agy_discussion_read, so routing guidance is good but not complete.

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