Skip to main content
Glama

reject_entity

Mark a knowledge-layer entity as rejected by writing status: rejected and an optional reason to its canonical file, then sync validation. Use only for active entities, not content edits.

Instructions

Reject a knowledge-layer entity — writes status: rejected (and an optional rejected_reason) into its canonical file, then syncs so the status lattice validates the transition. Only active entities can be rejected; verify a stale one first if it must be ruled wrong. This is a verdict, not an edit — do not use it for content changes. Rejected entities stay on record: retrieval filters them out, and dedup can warn when a matching claim resurfaces.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesUUID of the entity to reject.
repoYesAbsolute path to the project root containing `.cogz/`.
reasonNoWhy the entity is rejected — stored as `rejected_reason` in the file's frontmatter so the verdict carries its evidence.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.6

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the state-machine constraint (only active entities), the sync/validation step ('the status lattice validates the transition'), and the lasting consequences (rejected entities stay on record, retrieval filters them out, dedup can warn on resurfacing). This is exactly the behavioral context an agent needs for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the core action and state change, followed by preconditions, exclusions, and consequences. Every clause earns its place and nothing is repeated.

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 mutation tool with no output schema or annotations, it covers preconditions, side effects, and persistence semantics thoroughly. It stops short of describing the response payload or the failure mode when the entity is not active, which would round it out.

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 coverage is 100%, so all three parameters are already documented, including that reason is stored as 'rejected_reason' in frontmatter. The description largely restates that same fact (reason becomes 'rejected_reason') without adding format, length, or constraints. Baseline 3 applies when the schema does the heavy lifting.

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 ('Reject a knowledge-layer entity') and immediately distinguishes itself from siblings by contrasting with edits (update_knowledge) and verification, and it names the exact state transition it performs ('writes status: rejected'). An agent can tell this apart from verify_knowledge or update_knowledge without opening a schema.

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?

Explicit preconditions ('Only active entities can be rejected'), a routing rule to an alternative ('verify a stale one first if it must be ruled wrong'), and a clear exclusion ('This is a verdict, not an edit — do not use it for content changes'). When-to-use, when-not, and the alternative path are all present.

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