Skip to main content
Glama

mark

Judge if a served memory item helped: default records usefulness and clears noise; set noise true to flag misfires and retire repeat offenders from injection while keeping them findable.

Instructions

Code lane: judges an item you were served or looked up. Default records that it HELPED, which clears noise recorded before it (a later noise mark still counts - the newest verdict wins). Pass noise:true for the opposite; two noise marks since the last useful one (or since the last change to its text, check or bindings) retire the item from the injection surfaces, though it stays fully findable via lookup; a rule whose check can refuse is never retired this way. A second call THIS SESSION for the same id with the same verdict writes nothing and says so, unless the item fired 40 more times since, in which case it is owed again and written; a different verdict is written and the earlier one is named in the reply. On a replica this queues instead of writing ('queued for the main machine' is not an error). Refused when the item is not live (retracted or archived) - there is nothing to judge. Also refused, with nothing written, when the item is pinned (Always-bound): the owner already answered by pinning it, so a verdict changes nothing - unpin it first if it should be judged instead. Replies with the verdict recorded and its event sequence, or the refusal text.

Input Schema

NameRequiredDescriptionDefault
idYesThe id of the item being judged.
noiseNoSet true to record the OPPOSITE: this item did not belong where it fired. Two noise judgements, with no mark of usefulness, retire it from the injection surfaces; it stays fully findable via lookup.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only the generic safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description goes far beyond them: retirement after two noise marks, the exception for check-refusable rules, the 40-refiring re-write rule, replica queueing, and two distinct refusal conditions. The idempotentHint=false is consistent with the described 'owed again after 40 firings' exception rather than contradicted.

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 the default behavior and the noise override before the edge cases, and every sentence carries operational rules (retirement, dedup, queueing, refusals) that an agent needs. It is long and parenthetical-heavy, so it is efficient rather than wasteful, but readability suffers slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by stating the reply shape ('the verdict recorded and its event sequence, or the refusal text'). Retirement, dedup, replica, and refusal semantics are all covered, so nothing an agent needs to invoke correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema's own text for 'noise' is nearly a verbatim restatement of the description's explanation, so the description adds little new parameter meaning. The retirement semantics it does add are behavioral rather than argument-level, making the baseline 3 appropriate.

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 opening sentence gives a specific verb and object ('judges an item you were served or looked up') and pins the default meaning (records that it HELPED), which rescues the opaque name 'mark'. It also distinguishes itself from siblings by noting the item 'stays fully findable via lookup' and by its interaction with pin. The dense, rule-heavy phrasing keeps it a step short of instantly scannable, but the core purpose is unambiguous.

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?

It explicitly states when to pass noise:true versus leave the default, when a duplicate verdict is written versus suppressed, when the tool is refused (not live, pinned), and even routes the agent to an alternative action ('unpin it first if it should be judged instead'). Replica behavior ('queues instead of writing') is called out as non-error. This is close to exhaustive when-to-use and when-not-to-use guidance.

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