Skip to main content
Glama
danielsimonjr

Enhanced Knowledge Graph Memory Server

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v12.7.0

  • Disambiguation2/5

    With 241 tools, many serve overlapping or very similar purposes (e.g., 10+ search methods, multiple consolidation/decay/dream tools). While individual descriptions are detailed, the sheer volume makes it difficult for an agent to reliably select the correct tool without deep study.

    Naming Consistency4/5

    The vast majority of tools follow a consistent verb_noun (snake_case) pattern. However, a few outliers like 'health', 'diag', 'reindex', and 'cache_stats' break this pattern, slightly reducing consistency.

    Tool Count1/5

    241 tools is far beyond what is reasonable for an MCP server. Even for a complex knowledge graph system, this overwhelming number forces agents to navigate an excessively large tool surface, causing confusion and inefficiency.

    Completeness5/5

    The tool set is extraordinarily comprehensive, covering CRUD for entities, relations, and observations; multiple search paradigms; graph analysis; temporal queries; RBAC; decisions; procedures; causal reasoning; events; reflections; and more. No obvious gaps in the intended functionality.

  • Average 3.4/5 across 241 of 241 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 62 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description bears full responsibility. It mentions auto-create and dedup, which are helpful, but lacks details on side effects (e.g., whether it mutates, what happens on duplicate, required permissions, or return format). This is insufficient for understanding the full behavior.

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

    Conciseness3/5

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

    The description is a single sentence with version info, which is concise but includes an unnecessary version number that doesn't aid selection. It is moderately well-structured but lacks prioritization of key details.

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

    Completeness2/5

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

    Given it's a simple mutation tool with 2 parameters and no output schema, the description is incomplete. It does not cover return values, error conditions, or prerequisites like whether the project must exist. The auto-create hint addresses one gap but overall leaves many questions unanswered.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description does not explain the parameters. It does not clarify what 'convention' expects as input format or what 'projectId' refers to. The description adds no value beyond the raw schema.

    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 clearly states it appends a convention to a project context, with auto-creation and deduplication. It specifically mentions 'convention' distinguishing it from sibling append tools like append_project_fact and append_project_command. However, it could clarify what 'auto-creates' refers to (likely the project context entry).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives. The description implies it's for conventions, but does not mention when not to use it or suggest alternatives like append_project_fact or remove_project_convention.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Sync lookup', implying a read operation but without confirming it's non-destructive or side-effect-free. There's no mention of return format, permissions, or error conditions.

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

    Conciseness3/5

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

    The description is extremely concise (one sentence with version prefix), which is good for conciseness but borders on under-specification. It could include more information without becoming lengthy.

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

    Completeness2/5

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

    Given no annotations, no output schema, and a single parameter, the description is incomplete. It does not specify what the tool returns (e.g., the heuristic object, success status), any prerequisites, or potential errors. More context is needed for an agent to use it effectively.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description does not add any meaning to the single 'id' parameter beyond stating it's a HeuristicId. No format, constraints, or examples are given.

    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 'Sync lookup by HeuristicId', which clearly indicates a synchronous retrieval operation for a specific heuristic. It distinguishes from sibling tools like list_heuristics (which lists all) and add_heuristic/remove_heuristic (which modify). However, it could be more explicit, e.g., 'Retrieve a heuristic by its ID'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. There are many heuristic-related sibling tools (list_heuristics, match_heuristics, etc.), but the description does not help the agent decide when to choose get_heuristic over others.

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

  • Behavior2/5

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

    The description only says 'Load', implying a read operation, but provides no details on data returned, side effects, rate limits, or authorization requirements. With no annotations to fill the gap, the agent lacks essential behavioral context.

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

    Conciseness3/5

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

    The description is very short, which is good for conciseness, but the '3B.4 —' prefix appears to be a section number, which adds noise without value. The structuring is minimal but not wasteful.

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

    Completeness2/5

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

    Given the simplicity of the tool (single parameter, no output schema, no annotations), the description should at minimum clarify what 'load' returns. It fails to provide sufficient context for an agent to understand the output or behavior, leaving the tool incomplete.

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

    Parameters1/5

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

    The input schema has one parameter 'id' with no description (0% coverage). The tool description adds no explanation of what 'id' represents (e.g., format, origin, constraints), leaving the parameter meaning entirely to inference.

    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 clearly states the action ('Load') and the resource ('a procedure by id'), making the basic purpose unambiguous. However, it does not differentiate from siblings like 'get_procedure_step' or 'add_procedure', which reduces clarity in a tool-rich context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'get_procedure_step' or 'match_procedure'. The description omits context about prerequisites, typical use cases, or when not to use it.

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

  • Behavior1/5

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

    With no annotations provided, the description carries full burden but fails to disclose behavioral traits. It doesn't indicate whether this is a read or write operation, what 'open' entails (e.g., retrieval, expansion, activation), error handling, or output format, leaving critical gaps.

    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 description is a single, efficient sentence with no wasted words. However, it's under-specified rather than concise—it lacks necessary detail for clarity, which slightly reduces its effectiveness.

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

    Completeness2/5

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

    Given no annotations, no output schema, and a vague purpose, the description is incomplete. It doesn't explain what 'open' means, what the tool returns, or how it differs from siblings, making it inadequate for a tool in this context-rich server.

    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%, so the schema fully documents the 'names' parameter as an array of entity names. The description adds no meaning beyond this, merely restating 'by their names'. Baseline 3 is appropriate as the schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Open specific nodes by their names' states a verb ('open') and resource ('nodes'), but is vague about what 'open' means operationally. It doesn't differentiate from sibling tools like 'search_nodes' or 'get_children', leaving ambiguity about whether this retrieves, expands, or activates nodes.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'search_nodes' or 'get_children'. The description lacks context about prerequisites, exclusions, or typical use cases, offering no help in tool selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility. It only mentions the return value ('Returns true if found'), but does not disclose other behavioral traits: whether it is destructive, required permissions, side effects, or what happens when the convention is not found (e.g., returns false or error). This is insufficient for a deletion operation.

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

    Conciseness3/5

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

    The description is very short and to the point, but it includes an unnecessary version number ('v2.1.0') which adds noise. While concise, it sacrifices clarity and completeness. Every sentence should add value; the version does not.

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

    Completeness2/5

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

    Given the simplicity of the tool (two required string parameters, no output schema), the description is minimally adequate but leaves significant gaps. It does not explain the semantics of 'convention', provide examples, or clarify behavior in edge cases. With many sibling tools, a more complete description would reduce ambiguity.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning no parameter descriptions are provided in the schema. The tool description adds no additional meaning about the parameters; it does not explain what 'projectId' or 'convention' represent or their expected formats. The agent must infer from the name alone.

    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 clearly states the action ('Remove') and the resource ('a single convention'). While it is unambiguous, it does not explicitly differentiate from sibling tools like remove_project_fact or remove_project_command, which share a similar pattern. The name itself provides context, but the description could be more distinguishing.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., remove_project_fact, remove_project_command). There is no mention of prerequisites, context, or conditions that would inform selection. The description is purely functional.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't address critical behavioral aspects: whether deletions are permanent or reversible, what permissions are required, how errors are handled, or what happens to related data. For a destructive tool with zero annotation coverage, this is a significant gap.

    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?

    The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool name and gets straight to the point without unnecessary elaboration.

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

    Completeness2/5

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

    For a destructive mutation tool with 1 parameter (a complex array structure), 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what 'observations' are, provide examples, describe the deletion behavior, or mention any side effects. The agent lacks sufficient context to use this tool correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The description mentions 'specific observations from entities' which hints at the 'deletions' array parameter structure, but doesn't explain what 'entityName' or 'observations' represent, their formats, or constraints. The description adds minimal value beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Delete specific observations from entities' clearly states the action (delete) and target (observations from entities), which is better than a tautology. However, it doesn't specify what 'observations' are in this context or differentiate this tool from sibling deletion tools like 'delete_entities' or 'delete_relations', leaving the purpose somewhat vague.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or compare it to similar tools like 'delete_entities' or 'normalize_observations'. Without any usage context, agents must infer when this tool is appropriate.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this is a read-only operation, what permissions are needed, how results are returned (e.g., pagination), or error handling. This leaves significant gaps for a tool that likely queries hierarchical data.

    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?

    The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without fluff. It's appropriately front-loaded and sized for a simple tool, though this conciseness comes at the cost of detail.

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

    Completeness2/5

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

    Given the complexity (hierarchical querying), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It lacks details on behavior, parameters, return values, and differentiation from siblings, making it inadequate for reliable agent use without additional context.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate but adds no parameter details. It doesn't explain what 'entityName' represents, its format, valid values, or examples. The single parameter remains undocumented beyond its name in the schema, failing to provide meaningful semantics.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Get all child entities of an entity' clearly states the verb ('Get') and resource ('child entities'), but it's vague about scope and doesn't distinguish from siblings like get_descendants or get_subtree. It provides a basic purpose but lacks specificity about what 'all' entails or how it differs from similar tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like get_descendants or get_subtree. The description implies a direct parent-child relationship but doesn't specify depth, exclusions, or prerequisites, leaving the agent to infer usage from context alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits like whether it's read-only (implied by 'Get' but not explicit), pagination, rate limits, permissions needed, or what happens with invalid inputs. This is inadequate for a tool with potential complexity in graph traversal.

    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?

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part earns its place by conveying the essential purpose.

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

    Completeness2/5

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

    Given no annotations, 0% schema coverage, no output schema, and complexity from graph operations, the description is incomplete. It doesn't cover return format (e.g., list structure, depth), error handling, or how 'descendant' is defined (e.g., recursive children). This leaves significant gaps for an AI agent to use it correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate but adds no parameter details. It mentions 'entityName' implicitly but doesn't explain what it expects (e.g., format, valid values, or if it's case-sensitive). With 1 required parameter and no schema help, this leaves semantics unclear.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Get all descendant entities of an entity' clearly states the verb ('Get') and resource ('descendant entities'), but it's vague about scope and doesn't differentiate from siblings like 'get_children' or 'get_subtree'. It specifies 'all' which adds some clarity, but lacks detail on what constitutes a descendant.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'get_children' (immediate children only) or 'get_subtree' (might include the entity itself). The description implies a hierarchical traversal but doesn't specify depth or exclusions, leaving usage context unclear.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose what happens if the entity has no parent (e.g., returns null, error), permissions required, rate limits, or output format. 'Get' suggests a read-only operation, but this isn't explicitly confirmed, leaving gaps in transparency.

    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?

    The description is a single, clear sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose without unnecessary detail.

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

    Completeness2/5

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

    Given the complexity (1 parameter, no annotations, no output schema), the description is incomplete. It lacks details on error handling, return values, and practical usage, making it insufficient for an AI agent to reliably invoke the tool without additional context or trial-and-error.

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

    Parameters2/5

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

    The input schema has 1 parameter with 0% description coverage, and the tool description adds no meaning beyond the parameter name 'entityName'. It doesn't explain what constitutes a valid entity name (e.g., format, constraints) or provide examples, failing to compensate for the low schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Get the parent entity of an entity' clearly states the action (get) and target (parent entity), but it's somewhat vague about what 'entity' refers to in this context. It distinguishes from siblings like 'get_children' and 'get_ancestors' by focusing on the immediate parent, but doesn't specify the domain (e.g., graph nodes, database records).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'get_ancestors' (which might return multiple ancestors) or 'get_root_entities' (for top-level entities). The description implies usage for retrieving a direct parent, but lacks explicit context or exclusions, such as whether it works for root entities (which have no parent).

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It lists output fields but omits whether the tool is read-only, what constitutes a 'rolling' window, how failures are defined, or if caching occurs. The version string 'v2.1.0' is non-informative. The safety and side-effect profile are unclear.

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

    Conciseness3/5

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

    The description is very short (one sentence plus version), which is concise, but the version prefix adds noise. While brief, it covers the core purpose and output fields, but lacks critical details needed for correct invocation.

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

    Completeness2/5

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

    For a simple one-parameter tool with no output schema, the description partially covers the return value but leaves gaps in usage context, parameter semantics, and behavioral traits. It does not fully compensate for the missing schema documentation.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must document the parameter. It only implies 'toolName' is the tool identifier, without specifying format, case-sensitivity, or validation rules. The single parameter is underspecified.

    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 clearly states the tool returns 'flat rolling stats for a tool' and lists specific metrics: success_rate, total_calls, common_failure_modes, avg_duration_ms. This makes the purpose specific and distinguishable from siblings like list_tool_affordances (listing affordances) and other stats tools. However, the term 'rolling stats' is slightly jargon-heavy and lacks explanation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., tool must have been observed) or scenarios where this tool is appropriate. Siblings like list_tool_affordances or record_tool_outcome serve different purposes but are not contrasted.

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

  • Behavior1/5

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

    With no annotations, the description must fully explain behavior. It only states 'All registered heuristics' without disclosing that the tool is read-only, what the return format is, or any side effects. The name implies listing, but behavioral traits are absent.

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

    Conciseness2/5

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

    The description is extremely brief (6 words) but lacks essential details beyond the name. While not verbose, it is under-specified for an AI agent that may need to understand the tool's purpose without relying on the name alone.

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

    Completeness2/5

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

    Given the simplicity (no parameters, no output schema), the description is incomplete. It does not specify whether the result is a list of names or full objects, or if there are pagination limits. An agent might need more context to use the output correctly.

    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?

    The tool has zero parameters, so the schema coverage is 100% trivially. Per the guidelines, baseline is 4 for zero-parameter tools. The description adds no parameter information, but none is needed.

    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 'All registered heuristics' clearly indicates that the tool lists all heuristics. The name 'list_heuristics' explicitly conveys the action and resource. However, it lacks differentiation from siblings like 'get_heuristic' or 'match_heuristics', but the 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 Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No usage guidance is provided. There is no indication of when to use this tool versus alternatives such as 'get_heuristic' for a specific heuristic or 'match_heuristics' for searching. The description offers no context for decision-making.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a 'move' operation, implying mutation, but doesn't clarify permissions needed, whether it's reversible, side effects, or error conditions. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, direct sentence with no wasted words. It's front-loaded and efficiently conveys the core action, though it lacks detail.

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

    Completeness2/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 annotations, 0% schema coverage, and no output schema, the description is incomplete. It doesn't address behavioral aspects, parameter details, or output expectations, leaving significant gaps for the agent to navigate.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It mentions 'entity' and 'new parent', which loosely map to 'entityName' and 'newParentName', but doesn't explain what these parameters represent, their formats, or constraints (e.g., 'newParentName' can be null). This adds minimal value beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Move an entity to a new parent' clearly states the action (move) and target (entity), but it's vague about what 'entity' and 'parent' mean in this context. It doesn't distinguish from sibling tools like 'set_entity_parent', which appears to serve a similar function, leaving ambiguity about when to use each.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to sibling tools like 'set_entity_parent', leaving the agent to guess based on tool names alone.

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

  • Behavior2/5

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

    The description states it removes a fact and returns true if found, but does not disclose side effects, required permissions, error behavior if the fact does not exist, or whether the operation is destructive. With no annotations provided, the description carries the full burden and is insufficient.

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

    Conciseness3/5

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

    The description is extremely short (two sentences) and front-loads the version number, which is unnecessary. While concise, it omits critical details, making it under-specified rather than efficient.

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

    Completeness1/5

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

    Given the lack of output schema, annotations, and parameter descriptions, the description is wholly inadequate for a tool that has two required parameters and no additional context. It fails to explain return values beyond a boolean, error handling, or prerequisites.

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

    Parameters1/5

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

    The schema has 0% coverage (no descriptions for parameters), and the description does not explain what 'fact' or 'projectId' represent. The agent must guess how to format the fact value or what project identifier to use.

    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?

    The description clearly states the action ('Remove') and the resource ('a single fact'), which matches the tool name and distinguishes it from sibling tools like remove_project_glossary_term or remove_project_convention. The return value hint ('Returns true if found') adds precision.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternative removal tools (e.g., remove_project_glossary_term) or how it fits into a workflow. The agent is left to infer from context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states 'Add tags' which implies a mutation operation, but doesn't disclose behavioral traits such as whether it requires specific permissions, if tags are appended or replaced, what happens on duplicate tags, or error handling. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is extremely concise with just four words, front-loading the core action without unnecessary details. Every word earns its place, making it efficient for quick understanding, though this brevity contributes to gaps in other dimensions.

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

    Completeness2/5

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

    Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or behavioral nuances, leaving significant gaps for an AI agent to invoke it correctly in a context with many sibling tools.

    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?

    The input schema has 100% description coverage, with clear documentation for both parameters ('entityName' and 'tags'). The description doesn't add any meaning beyond what the schema provides, such as format examples or constraints. Baseline score of 3 is appropriate since the schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Add tags to an entity' clearly states the verb ('Add') and resource ('tags to an entity'), making the purpose understandable. However, it lacks specificity about what type of entity or system context, and doesn't distinguish it from sibling tools like 'add_tags_to_multiple_entities' or 'merge_tags', which could cause confusion.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when not to use it, or compare it to siblings like 'add_tags_to_multiple_entities' for batch operations or 'merge_tags' for tag management, leaving the agent without usage context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'merging similar entities' which implies a potentially destructive mutation, but fails to detail critical aspects like required permissions, whether changes are reversible, impact on graph structure, or error handling. This leaves significant gaps in understanding the tool's operational behavior.

    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?

    The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes essential information.

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

    Completeness2/5

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

    Given the complexity of graph compression (a mutation operation), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'compressing' entails in practice, how merged entities are handled, or what the tool returns. For a tool that likely alters graph structure, more context is needed to understand its full impact and usage.

    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?

    The input schema has 100% description coverage, with clear definitions for 'threshold' and 'dryRun'. The description adds no additional parameter semantics beyond what the schema provides, such as explaining what 'similarity' entails or how 'dryRun' outputs differ. This meets the baseline score since the schema adequately documents the parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states the action ('compress') and resource ('graph') with a specific method ('merging similar entities'), which clarifies the purpose beyond just the name. However, it doesn't differentiate from sibling tools like 'merge_entities' or 'find_duplicates', leaving ambiguity about how this tool uniquely operates within the graph context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'merge_entities' or 'find_duplicates', nor are there any prerequisites or exclusions mentioned. The description implies a general graph compression task but offers no contextual boundaries for its application.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions 'potential duplicate entities' and 'similarity', but doesn't disclose critical behavioral traits like what constitutes a duplicate, how similarity is calculated, whether this is a read-only operation, what permissions are needed, or what the output looks like. For a tool with no annotation coverage, this leaves significant gaps.

    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?

    The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core purpose immediately.

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

    Completeness2/5

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

    Given the complexity of duplicate detection (which often involves algorithms, confidence scores, and result formats), no annotations, no output schema, and many sibling tools, the description is incomplete. It doesn't explain what 'potential' means, how results are returned, or provide enough context for an agent to use it effectively compared to alternatives.

    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?

    The description adds no parameter-specific information beyond what's in the schema. With 100% schema description coverage (the 'threshold' parameter is fully documented in the schema), the baseline score is 3. The description doesn't compensate with additional context about how the threshold affects results or typical usage values.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Find potential duplicate entities based on similarity' clearly states the tool's purpose with a specific verb ('Find') and resource ('duplicate entities'), but it doesn't differentiate from sibling tools like 'find_similar_entities' or 'fuzzy_search'. The purpose is understandable but lacks sibling distinction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling search-related tools (e.g., 'find_similar_entities', 'fuzzy_search', 'semantic_search'), there's no indication of when this specific duplicate-finding tool is appropriate or what makes it unique.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavior but only says 'sync lookup', which implies a read-only, synchronous operation. It does not specify what happens if the projectId is invalid, what the return value contains, or any side effects.

    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 description is a single short sentence with a version prefix, making it very concise. However, it could be more informative without being verbose.

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

    Completeness2/5

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

    Given the tool has one parameter, no output schema, and many siblings, the description is insufficient. It lacks details on return value, error handling, and version relevance.

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

    Parameters2/5

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

    The input schema has 0% description coverage, and the description only adds 'for projectId' which adds little beyond the schema. It does not explain format, constraints, or examples for the projectId parameter.

    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 clearly states a synchronous lookup of a ProjectContextRecord by projectId, which is a specific verb+resource. However, it does not distinguish itself from siblings like 'clear_project_context' or 'upsert_project_context', though the purpose is straightforward enough.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'get_context_profile' or 'get_world_state'. There is no mention of context or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It only states that all records are listed, without mentioning read-only nature, authentication, pagination, or any side effects. This is insufficient for safe invocation.

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

    Conciseness3/5

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

    The description is extremely concise (one phrase) and front-loaded, but it sacrifices clarity. While not verbose, it could benefit from a sentence explaining what tool affordances are.

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

    Completeness2/5

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

    Given the lack of output schema and annotations, and the presence of many similar sibling tools, the description is too minimal to provide complete context. It does not describe the return format or how this differs from other listing tools.

    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?

    There are no parameters, so schema coverage is 100%. The description confirms the scope ('All recorded'), which is useful. No further parameter info is needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description identifies the resource as 'ToolAffordanceRecords', but does not explain what a tool affordance is, leaving some ambiguity. It is distinct from sibling listing tools due to the specific resource name, but could be clearer.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like list_projects, list_decisions, etc. The absence of usage context makes it harder for an agent to choose correctly among many listing tools.

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

  • Behavior3/5

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

    The description discloses key behavioral traits: it bumps contradiction counts, lowers confidence by 20% (new = old - old*0.2), and is OCC-protected. However, it does not explain what 'contradictions' are, the range of confidence, or error conditions when the heuristic doesn't exist.

    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 description is short and to the point, but includes a version number ('v2.1.0') which is likely unnecessary for the agent. It could be slightly more structured but is mostly efficient.

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

    Completeness2/5

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

    No output schema is provided, and the description does not mention return values. For a mutation tool, the agent needs to know what the response contains. Additionally, parameter semantics are missing, leaving significant gaps.

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

    Parameters1/5

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

    The schema has one required parameter 'id' with zero schema description coverage. The description completely fails to explain what 'id' refers to (heuristic ID?) or its format. The agent has no context for this parameter.

    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 the verb 'Record a counter-example' and implies the resource is a heuristic via the tool name. It describes effects: bumps contradictions and lowers confidence with a formula. However, it could be more explicit about the resource and distinguish from siblings like 'add_heuristic'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'add_heuristic' or 'detect_heuristic_conflicts'. The mention of 'OCC-protected' is a constraint, not usage guidance.

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

  • Behavior3/5

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

    Discloses the update formula and concurrency protection (OCC), which adds value beyond basic mutation. However, with no annotations, the description does not disclose whether the heuristic must exist, what the return value is, or if there are side effects (e.g., last-updated timestamp).

    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?

    Two concise sentences with no filler. The formula and concurrency note are valuable. The version prefix is minor but not harmful.

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

    Completeness2/5

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

    Lacks explanation of return values, error states, or prerequisites. While it covers the core update mechanism, the agent lacks critical invocation context like whether the heuristic must exist and what constitutes a 'successful application'.

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

    Parameters1/5

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

    The single required parameter 'id' is not described at all. With 0% schema description coverage, the description should explain what the id refers to (heuristic ID) and any constraints, but it does not.

    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 clearly states the tool records a successful application of a heuristic, updating support and confidence. It differentiates from sibling tools like add_heuristic (creation) or get_heuristic (reading). However, the phrase 'bumps support' is somewhat informal.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like record_heuristic_contradiction or match_heuristics. The description does not mention prerequisites or scenarios.

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

  • Behavior2/5

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

    No annotations are present, so the description must fully disclose behavior. It indicates the tool is destructive (drops a heuristic) but does not mention side effects, error handling, or prerequisites such as permissions.

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

    Conciseness3/5

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

    The description is concise but includes a version prefix ('v2.1.0') that is unnecessary for tool invocation. The core functional statement is one sentence, which is efficient, but the version info wastes the first few tokens.

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

    Completeness2/5

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

    For a single-parameter delete operation, the description is minimally adequate but fails to address what happens when the id is invalid or missing, and does not specify return values or error conditions, leaving gaps for reliable agent usage.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description adds no meaning beyond the parameter name 'id'. It does not explain what format the id should be in or any constraints, leaving the parameter poorly described.

    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?

    The description clearly states the verb ('Drop') and the resource ('heuristic'), and specifies the required input ('by id'). It effectively distinguishes this tool from siblings like 'add_heuristic' or 'clear_heuristics'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'clear_heuristics'. The usage context is only implied by the tool name and description, with no explicit when-to-use or when-not-to-use instructions.

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

  • Behavior2/5

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

    No annotations exist, so the description must disclose behavioral traits. It only says 'Returns true if found,' leaving ambiguity about what happens on failure (e.g., false or error?), destructive side effects, idempotency, or permission requirements. A deletion tool requires more transparency.

    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 description is very short and gets to the point. The version prefix 'v2.1.0 —' is unnecessary noise, but the core sentence is clear and efficient. Could be improved by removing the version.

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

    Completeness2/5

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

    For a deletion tool with two required parameters and no annotations, the description lacks completeness. It does not explain error scenarios, side effects, or whether the operation is reversible. Given the simplicity, more context would be expected for safe invocation.

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

    Parameters2/5

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

    With 0% schema description coverage, the description should explain the parameters. It mentions 'by term' but does not define 'term' or 'projectId.' The schema shows two required strings, but the description adds no meaning beyond the raw field names.

    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 clearly states the action ('Remove') and resource ('glossary entry'), and specifies the return value ('true if found'). However, it does not differentiate from sibling tools like remove_project_fact or remove_project_convention, which are similar in nature.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives (e.g., append_project_glossary_term for adding, or remove_project_fact for facts). There are no prerequisites, exclusions, or context for appropriate use.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. 'Remove' implies a destructive mutation, but it doesn't disclose behavioral traits such as permissions required, whether the removal is reversible, effects on related data, or error handling. This is a significant gap for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loaded with the core action, making it easy to parse quickly.

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

    Completeness2/5

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

    Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks crucial details like what happens after removal, potential side effects, or error conditions. The high schema coverage helps with parameters, but overall context for safe and effective use is inadequate.

    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%, with the single parameter 'alias' documented as 'The alias to remove'. The description adds no additional meaning beyond this, such as format examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Remove a tag alias' clearly states the action (remove) and target (tag alias), which is better than a tautology. However, it doesn't specify what a 'tag alias' is in this system or how this differs from sibling tools like 'remove_tags' or 'replace_tag', leaving the purpose somewhat vague in context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'remove_tags', 'replace_tag', and 'list_tag_aliases', there's no indication of prerequisites, exclusions, or comparative use cases, leaving the agent to guess based on tool names alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. It merely says 'Drop', implying deletion, but fails to mention if the action is permanent, what happens to related data, authorization requirements, or error conditions. This lack of transparency could lead to misuse.

    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 description is concise at one sentence, but it includes a version prefix 'v2.1.0 —' that is not essential and may distract. The core information is efficiently communicated, though it could be slightly cleaner without the version.

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

    Completeness2/5

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

    Given the low complexity (single required parameter, no nested objects), the description is still incomplete. It does not specify the return value, potential errors, or prerequisites. With no output schema and no annotations, the agent lacks context for successful invocation and error handling.

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

    Parameters2/5

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

    The schema description coverage is 0%, so the description must add value beyond 'type: string' and 'required: true'. It only repeats 'by toolName' without elaborating on valid values, format, or how to obtain toolNames. This offers minimal additional meaning to the agent.

    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 'Drop a tool-affordance record by toolName' uses the verb 'Drop' and specifies the resource 'tool-affordance record' and the key parameter. It clearly indicates the action of deletion and is distinguishable from siblings like list_tool_affordances (listing) and get_tool_affordance_stats (statistics), though it does not explicitly differentiate them.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when or when not to use this tool versus alternatives. It only states what it does, without context such as prerequisites, consequences, or examples. For instance, it does not mention that the tool should be used when you want to permanently delete a tool affordance record, as opposed to just removing it from a view.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions 'resolve' but doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires specific permissions, what happens on failure, or if it has side effects like modifying data. This leaves significant gaps for a tool with potential mutation implications.

    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?

    The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse without unnecessary elaboration.

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

    Completeness2/5

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

    Given the complexity of tag resolution (which could involve lookups, normalization, or mutations), no annotations, and no output schema, the description is incomplete. It doesn't explain what 'canonical form' entails or what the return values might be, leaving the agent with insufficient context for effective use.

    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?

    The input schema has 100% description coverage, with the single parameter 'tag' documented as 'Tag to resolve'. The description adds no additional meaning beyond this, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Resolve a tag to its canonical form' states a clear verb ('resolve') and resource ('tag'), but it's vague about what 'resolve' and 'canonical form' mean in this context. It doesn't distinguish from siblings like 'get_aliases_for_tag' or 'normalize_observations', which might involve similar tag processing.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_aliases_for_tag', 'normalize_observations', and 'merge_tags' that could relate to tag handling, the description lacks any context or exclusions to help an agent choose appropriately.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'TF-IDF ranked' which hints at ranking behavior, but doesn't disclose critical traits like whether it's read-only, performance expectations, error handling, or output format. For a search tool with no annotations, this is insufficient behavioral context.

    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?

    The description is a single, efficient phrase with zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly without unnecessary elaboration.

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

    Completeness2/5

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

    Given 5 parameters with low schema coverage (40%), no annotations, no output schema, and complexity from sibling tools, the description is incomplete. It lacks details on behavior, parameter usage, and differentiation from alternatives, making it inadequate for effective tool selection and invocation.

    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 40% (only 'query' and 'limit' have descriptions), and the description adds no parameter details beyond the schema. It doesn't explain what 'tags', 'minImportance', or 'maxImportance' do or how they affect TF-IDF ranking. With low coverage, the description fails to compensate, resulting in minimal added value.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Perform TF-IDF ranked search' states a specific action (search) and algorithm (TF-IDF ranked), but it's vague about what resource is being searched (nodes vs. other entities) and doesn't clearly distinguish from sibling tools like 'search_nodes', 'boolean_search', 'fuzzy_search', or 'semantic_search'. It provides a technical method but lacks clarity on scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. With many sibling search tools (e.g., 'search_nodes', 'boolean_search', 'semantic_search'), the description fails to indicate appropriate contexts, exclusions, or comparisons, leaving the agent without usage direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Update a saved search', implying a mutation operation, but doesn't specify permissions needed, whether changes are reversible, rate limits, or what happens on failure. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly without unnecessary elaboration.

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

    Completeness2/5

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

    Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, error handling, and what the tool returns, which are critical for safe and effective use. The high schema coverage doesn't compensate for these gaps.

    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%, so the input schema already documents both parameters ('name' and 'updates'). The description adds no additional meaning beyond what the schema provides, such as examples of updatable fields or constraints. Baseline 3 is appropriate 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.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Update a saved search' clearly states the action (update) and resource (saved search), but it's vague about what specific aspects are updated and doesn't differentiate from siblings like 'save_search' or 'delete_saved_search'. It provides basic purpose but lacks specificity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'save_search' (for creation) or 'delete_saved_search' (for removal). The description offers no context, prerequisites, or exclusions, leaving usage unclear.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'add new observations' implies a write/mutation operation, the description doesn't address critical behavioral aspects: whether this requires specific permissions, if it's idempotent, what happens on duplicate observations, rate limits, error conditions, or the response format. For a mutation tool with zero annotation coverage, this is a significant gap.

    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?

    The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately front-loaded with the main action and target, making it easy to parse quickly. Every word earns its place.

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

    Completeness2/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 annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't address behavioral implications, parameter meanings, error handling, or what the tool returns. Given the complexity of modifying a knowledge graph and the lack of structured documentation elsewhere, the description should provide more context about how this operation works.

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

    Parameters2/5

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

    The description provides no parameter information beyond what's implied by the tool name. With 0% schema description coverage (the schema has no descriptions for its properties beyond the nested object), the description doesn't compensate by explaining what 'observations' contains, what 'entityName' represents, or what 'contents' should include. This leaves parameters largely undocumented.

    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 clearly states the action ('add new observations') and target ('to existing entities in the knowledge graph'), providing a specific verb+resource combination. It distinguishes from siblings like 'create_entities' (which creates new entities rather than adding to existing ones) and 'delete_observations' (which removes rather than adds). However, it doesn't explicitly differentiate from 'normalize_observations' or other observation-related tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., entities must exist), exclusions (e.g., cannot create new entities), or when to choose this over similar tools like 'create_entities' (for new entities with observations) or 'normalize_observations' (for processing existing observations).

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the destructive action ('Delete') but lacks critical details: whether deletions are permanent or reversible, required permissions, error handling for non-existent relations, or impact on connected graph elements. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable despite its brevity.

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

    Completeness2/5

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

    For a destructive mutation tool with no annotations, 0% schema coverage, and no output schema, the description is severely incomplete. It lacks behavioral context, parameter explanations, error handling, and output expectations, making it insufficient for safe and effective tool invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate but provides no parameter information. It doesn't explain what 'relations' contains, the meaning of 'from', 'to', and 'relationType' fields, or formatting requirements. This leaves all parameter semantics undocumented, failing to address the coverage gap.

    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 clearly states the action ('Delete') and target resource ('multiple relations from the knowledge graph'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'delete_entities' or 'delete_observations', which handle different resource types in the same system.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., existing relations to delete), exclusions, or comparisons to similar tools like 'delete_entities', leaving the agent to infer usage context from the tool name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states a read operation ('Get'), implying it's likely non-destructive, but does not disclose behavioral traits like whether it returns all ancestors recursively, the format of the output, error conditions, or any rate limits. This leaves significant gaps in understanding how the tool behaves.

    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?

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a simple tool, with no wasted information.

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

    Completeness2/5

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

    Given the lack of annotations, no output schema, and low parameter coverage, the description is incomplete. It does not explain what 'ancestor entities' entail (e.g., recursive vs. immediate), the return format, or error handling, making it inadequate for a tool that likely returns complex hierarchical data.

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

    Parameters2/5

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

    The input schema has 1 parameter with 0% description coverage, and the tool description does not add any semantic meaning about 'entityName' (e.g., what constitutes an entity, format, examples). This fails to compensate for the low schema coverage, leaving the parameter poorly documented.

    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 clearly states the verb 'Get' and the resource 'ancestor entities of an entity', making the purpose understandable. However, it does not explicitly differentiate from sibling tools like 'get_parent' (which might return immediate parent) or 'get_descendants' (which returns children), leaving some ambiguity about scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives such as 'get_parent' or 'get_descendants'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavior. It notes 'storage-backed' and a default confidence, but omits side effects (e.g., whether it overwrites duplicates), error handling, success/failure indicators, or any constraints like rate limits or authorization requirements.

    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?

    Two sentences with no redundancy. Front-loaded with core purpose, then additional behavioral notes. Every sentence adds unique value.

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

    Completeness2/5

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

    The tool has 7 parameters, no output schema, and moderate complexity. The description fails to explain what the tool returns (likely the created heuristic), how to handle errors, or how it integrates with sibling tools. Missing return value and full parameter handling make it incomplete for a confident inference.

    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?

    The description adds meaning to the 'id' parameter (content-addressed format for idempotency) and confirms the default for 'initialConfidence'. However, other parameters like 'agentId', 'priority', and 'importance' lack additional context beyond the schema. With 71% schema coverage, the description's contribution is modest but helpful.

    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?

    Clearly states 'Register a new condition→action heuristic' with a specific verb and resource. Lacks explicit differentiation from sibling heuristics tools like 'match_heuristics' or 'remove_heuristic', but the action 'register' implies creation, making it distinguishable.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives. The description mentions idempotency via explicit ID but does not clarify when such an ID is necessary or how it interacts with other tools. No exclusion criteria or prerequisites given.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds a mapping but doesn't describe what happens on conflicts (e.g., if the alias already exists), whether changes are reversible, permission requirements, or response format. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and uses a parenthetical to add clarifying context without unnecessary elaboration.

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

    Completeness2/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 annotations and no output schema, the description is incomplete. It lacks behavioral details (e.g., conflict handling, reversibility), usage context, and output expectations. While the schema covers parameters well, the overall context for safe and effective use is insufficient.

    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%, so the schema already documents all three parameters. The description adds no additional parameter semantics beyond implying a relationship between 'alias' and 'canonical' as synonyms, which is already clear from the schema descriptions. Baseline 3 is appropriate 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.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Add') and resource ('tag alias') with the parenthetical 'synonym mapping' providing additional context. It distinguishes from siblings like 'remove_tag_alias' and 'list_tag_aliases' by specifying the creation operation, though it doesn't explicitly contrast with other tag-related tools like 'merge_tags' or 'replace_tag'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the canonical tag must exist), exclusions, or comparisons to sibling tools like 'merge_tags' or 'replace_tag' that might handle similar tag operations.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose whether this is idempotent, requires specific permissions, affects existing tags, or has side effects like validation errors. 'Add' implies mutation but lacks context on safety or constraints.

    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?

    Single sentence, front-loaded with core action, zero waste. Efficiently conveys the tool's purpose without redundancy or unnecessary elaboration.

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

    Completeness2/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 annotations and no output schema, the description is insufficient. It lacks details on error handling, return values, idempotency, or interaction with other tag operations (e.g., duplicates). Given the complexity of batch tag operations, more context is needed for safe use.

    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%, so parameters are fully documented in the schema. The description adds no additional meaning beyond implying batch processing ('multiple entities'), which is already evident from the 'entityNames' array parameter. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 clearly states the action ('add') and target ('tags to multiple entities'), specifying it's a batch operation ('at once'). It distinguishes from sibling 'add_tags' (likely single-entity) but doesn't explicitly contrast with other tag-related tools like 'merge_tags' or 'replace_tag'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like 'add_tags' (presumably for single entities) or 'merge_tags'. The description implies batch capability but doesn't specify prerequisites, limitations, or contextual triggers for choosing this tool.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It discloses the dedup behavior, which is a key behavioral trait. However, it does not mention side effects, versioning, or what happens on duplicate (e.g., update or ignore).

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

    Conciseness3/5

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

    The description is concise but includes a version prefix ('v2.1.0 —') that is not essential. It lacks structured breakdown of purpose, usage, or parameters, making it minimally acceptable.

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

    Completeness2/5

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

    Given the tool has 3 required parameters, no output schema, and no annotations, the description is incomplete. It does not explain what a glossary term is, how it integrates with the project, or what the output is. Many sibling tools exist, but no comparative context is provided.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must explain parameters. It only implicitly mentions 'term' in the dedup note. No explanation of 'projectId' or 'definition' is given, leaving the agent without necessary context.

    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?

    The description clearly states the verb 'append', the resource 'glossary term', and the dedup behavior. It distinguishes itself from siblings like 'remove_project_glossary_term' and 'append_project_fact' by specifying 'glossary term' and dedup.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives such as 'append_project_fact' or 'append_project_convention'. Missing explicit context for when not to use it.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Archive' but does not clarify if this is reversible, what 'archive' entails (e.g., hiding vs. moving), permission requirements, side effects, or response format. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without redundancy. It is appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/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 annotations and no output schema, the description is incomplete. It lacks behavioral details (e.g., reversibility, effects), usage context, and output expectations, leaving significant gaps for an agent to invoke it correctly in a complex environment with many sibling tools.

    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%, so parameters are well-documented in the schema. The description adds no additional parameter semantics beyond implying criteria for 'old or low-importance', which loosely maps to 'olderThan' and 'importanceLessThan' but lacks specifics. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 clearly states the action ('Archive') and target ('entities'), and specifies criteria ('old or low-importance'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'delete_entities' or 'merge_entities', which also modify entity states, leaving some ambiguity about its unique role.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides minimal guidance by implying usage for 'old or low-importance entities', but offers no explicit when-to-use rules, alternatives (e.g., vs. delete_entities), prerequisites, or exclusions. This leaves the agent without clear direction on tool selection in context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the boolean operators but doesn't disclose behavioral traits such as what data is searched (e.g., entities, observations), whether it's read-only or has side effects, performance expectations, or output format. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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?

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose and includes essential operational detail (the boolean operators), making it easy to parse quickly.

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

    Completeness2/5

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

    Given the complexity of a search tool with 4 parameters, low schema coverage (25%), no annotations, and no output schema, the description is inadequate. It lacks details on what the tool searches, how results are returned, error handling, or interaction with other parameters beyond the query. This leaves too much undefined for effective agent use.

    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 low at 25%, with only the 'query' parameter documented. The description adds minimal value by implying the query uses boolean operators, but it doesn't explain the semantics of other parameters like 'tags', 'minImportance', or 'maxImportance'. This partially compensates but falls short of fully addressing the coverage gap.

    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 clearly states the action ('Perform boolean search') and the mechanism ('with AND, OR, NOT operators'), which distinguishes it from simple search tools. However, it doesn't explicitly differentiate from sibling tools like 'fuzzy_search', 'semantic_search', or 'search_nodes', which likely serve similar search purposes but with different methods.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling search tools (e.g., fuzzy_search, semantic_search, search_nodes), there's no indication of when boolean search is preferred, what prerequisites exist, or any exclusions for its use.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states 'Create multiple new relations,' implying a write/mutation operation, which is useful. However, it lacks critical behavioral details: it doesn't specify permissions required, whether the operation is idempotent, error handling for invalid inputs, or what happens if relations already exist. The active voice requirement is noted, but overall transparency is limited 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?

    The description is a single, efficient sentence that states the core action and key constraint ('active voice') without unnecessary words. It's front-loaded with the main purpose, making it easy to parse quickly. Every part earns its place by conveying essential information succinctly.

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

    Completeness2/5

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

    Given the complexity (a mutation tool for creating relations), lack of annotations, no output schema, and low schema coverage (0%), the description is incomplete. It covers the basic purpose and a constraint but misses behavioral context (e.g., side effects, permissions), detailed parameter guidance, and output expectations. For a tool that modifies a knowledge graph, this leaves significant gaps for an AI agent.

    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 0%, so the schema provides no parameter descriptions. The description adds minimal semantics: it implies 'relations' is an array and mentions 'active voice' for relation types, which hints at the 'relationType' parameter. However, it doesn't explain the 'from' and 'to' parameters or provide examples beyond 'e.g., 'works_at', 'knows'' in the schema. With 0% coverage, the description partially compensates but leaves gaps.

    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 clearly states the action ('Create multiple new relations') and resource ('between entities in the knowledge graph'), making the purpose understandable. It distinguishes from sibling tools like 'delete_relations' and 'create_entities' by focusing on relation creation rather than deletion or entity creation. However, it doesn't explicitly differentiate from all possible siblings like 'merge_entities' which might also involve relations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It mentions 'relations should be in active voice,' which is a constraint but not usage context. There's no indication of prerequisites, when to choose this over similar tools (e.g., 'create_entities' might handle relations differently), or any exclusions, leaving the agent with minimal direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Delete' implies a destructive, irreversible mutation, the description doesn't specify whether this requires special permissions, what happens to related data (like observations or relations), whether deletions are permanent or recoverable, or any rate limits/constraints. This leaves significant behavioral gaps for a destructive operation.

    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?

    The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it immediately comprehensible while avoiding redundancy or fluff.

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

    Completeness2/5

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

    For a destructive mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address critical context like what 'delete' means operationally (permanent vs. soft delete), how it affects related graph elements, error conditions, or return values. Given the complexity and risk of entity deletion, more behavioral and contextual information is needed.

    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%, with the parameter 'entityNames' clearly documented as 'An array of entity names to delete.' The description adds no additional parameter context beyond what the schema provides, such as format examples or constraints. With complete schema coverage, the baseline score of 3 is 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 description clearly states the action ('Delete') and target resource ('multiple entities from the knowledge graph'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'archive_entities' or 'merge_entities' which might also remove entities in different ways, preventing a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'archive_entities' (which might preserve data) or 'merge_entities' (which consolidates before removal). There's no mention of prerequisites, consequences, or appropriate contexts for deletion versus other entity modification tools.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Delete') but does not cover critical aspects like permissions required, whether deletion is permanent or reversible, error handling, or what happens upon success. This leaves significant gaps for a destructive operation.

    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?

    The description is a single, direct sentence with no wasted words. It is front-loaded and efficiently conveys the core action, making it easy to parse quickly.

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

    Completeness2/5

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

    For a destructive tool with no annotations and no output schema, the description is inadequate. It lacks details on behavioral traits, error conditions, and expected outcomes, leaving the agent with insufficient context to use the tool safely and effectively.

    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?

    The input schema has 100% description coverage, with the 'name' parameter fully documented. The description adds no additional semantic context beyond what the schema provides, such as format examples or constraints, so it meets the baseline for high schema coverage.

    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 'Delete a saved search' clearly states the verb ('Delete') and resource ('saved search'), making the purpose unambiguous. However, it does not differentiate from sibling tools like 'delete_entities' or 'delete_observations', which reduces specificity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., needing an existing saved search), exclusions, or related tools like 'list_saved_searches' or 'update_saved_search' for context.

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

  • Behavior3/5

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

    With no annotations, the description must carry the full burden. It discloses the key behavioral detail about prevents edges causing triangles to be flagged, but does not mention edge cases (e.g., seed not found), performance, or side effects.

    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 description is concise: one sentence plus a caveat. The caveat is important and front-loaded. No wasted words.

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

    Completeness2/5

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

    Without output schema and with no parameter explanations, the description is incomplete. An agent lacks guidance on inputs and expected outputs.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description does not explain either parameter (seed or maxDepth). It adds no meaning beyond the schema, failing to compensate for the low coverage.

    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 clearly states 'Detect cycles in the causal subgraph rooted at seed' with a specific verb and resource. It distinguishes from siblings like find_causes/find_effects by focusing on cycles, though it could be clearer about the cycle type (e.g., directed cycles).

    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?

    The caveat about prevents edges hints at an important nuance but does not explicitly state when to use this tool over alternatives or when to avoid it. No direct usage guidance is provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Execute') but does not explain what execution entails—e.g., whether it runs a search query, returns results, modifies data, or has side effects like logging. For a tool with zero annotation coverage, this leaves critical behavioral traits unspecified.

    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?

    The description is a single, efficient sentence that front-loads the core action without unnecessary words. It directly communicates the tool's function, making it easy to parse and understand quickly, with no wasted verbiage.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It does not address what the tool returns (e.g., search results, status), potential errors (e.g., if the saved search doesn't exist), or behavioral details like execution effects. For a tool with no structured data to supplement it, the description falls short in providing necessary context for effective use.

    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?

    The input schema has 100% description coverage, with the 'name' parameter fully documented in the schema. The description adds no additional meaning beyond implying the parameter refers to a saved search name, which is already clear from the schema. This meets the baseline score of 3, as the schema adequately covers parameter semantics without extra value from 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 clearly states the action ('Execute') and resource ('a previously saved search by name'), making the tool's purpose evident. However, it does not differentiate from sibling tools like 'list_saved_searches' or 'save_search', which reduces specificity. The description avoids tautology by not merely restating the tool name.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives, such as 'list_saved_searches' for viewing saved searches or 'save_search' for creating them. It lacks context about prerequisites (e.g., needing a saved search to exist) or exclusions, leaving usage unclear beyond the basic action stated.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds 'all paths' with a 'maximum depth', but doesn't explain performance implications (e.g., computational cost for large graphs), output format (e.g., list of paths, cycles), error conditions, or rate limits. For a path-finding tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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?

    The description is a single, efficient sentence that front-loads the core functionality without unnecessary words. Every part ('Find all paths', 'between two entities', 'up to a maximum depth') contributes essential information, making it appropriately sized for its purpose.

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

    Completeness2/5

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

    Given the complexity of path-finding in graph contexts, no annotations, and no output schema, the description is insufficient. It doesn't address output structure (e.g., format of returned paths), performance considerations, or error handling. For a tool with 5 parameters and no structured safety or output hints, more contextual detail is needed to guide effective use.

    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%, providing clear documentation for all 5 parameters. The description adds no additional parameter semantics beyond implying path traversal between entities. It doesn't clarify parameter interactions (e.g., how 'direction' and 'relationTypes' affect results) or provide examples, so it meets the baseline for high schema coverage without adding value.

    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 clearly states the tool's purpose: 'Find all paths between two entities up to a maximum depth'. It specifies the verb ('find'), resource ('paths'), and scope ('between two entities up to a maximum depth'). However, it doesn't explicitly differentiate from sibling tools like 'find_shortest_path', which handles a similar domain but with a different optimization goal.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_shortest_path' (for single optimal paths) or 'get_connected_components' (for broader connectivity analysis), nor does it specify prerequisites, exclusions, or contextual cues for selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the core function but doesn't explain what 'shortest path' means (e.g., by edge count, weight), whether it returns multiple paths if tied, performance characteristics, error conditions, or output format. This leaves significant gaps for a path-finding operation.

    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?

    The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality, making it easy to parse quickly.

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

    Completeness2/5

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

    For a path-finding tool with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes a 'shortest path' (algorithm, metrics), what the output looks like (path sequence, distance), or behavioral constraints. Given the complexity of graph traversal and lack of structured metadata, more context is needed.

    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%, so parameters are well-documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what's already in the schema (e.g., explaining how 'direction' affects path finding or how 'relationTypes' filtering works). Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the action ('find the shortest path') and resource ('between two entities in the knowledge graph'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'find_all_paths' or 'get_connected_components', which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'find_all_paths' or path-related siblings. It lacks context about prerequisites, constraints, or comparative use cases, offering only the basic functionality without usage direction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Requires embedding provider,' which adds some context about dependencies, but it doesn't describe key behaviors such as what 'similar' means in practice, how results are ordered, whether it's a read-only operation, potential rate limits, or error conditions. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

    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 description is concise with two sentences that directly state the purpose and a prerequisite. It's front-loaded with the main function, and there's no wasted text. However, it could be slightly more structured by separating the prerequisite into a distinct note, but overall it's efficient.

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

    Completeness2/5

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

    Given the complexity of a similarity search tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., read-only status, performance), output format (e.g., what data is returned), and how it differs from similar sibling tools. The prerequisite about embedding provider is helpful but insufficient for full contextual understanding.

    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%, so the schema already documents all parameters (entityName, limit, minSimilarity) with their types, descriptions, and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as explaining 'semantic similarity' in relation to the parameters. Baseline score of 3 is appropriate as the schema does the heavy lifting.

    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 clearly states the tool's purpose: 'Find entities similar to a given entity using semantic similarity.' It specifies the verb ('find'), resource ('entities'), and method ('semantic similarity'), which distinguishes it from other search tools like fuzzy_search or boolean_search. However, it doesn't explicitly differentiate from sibling tools like semantic_search or hybrid_search, which might also use semantic methods.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides minimal usage guidance: it mentions 'Requires embedding provider,' which hints at a prerequisite but doesn't explain when to use this tool versus alternatives. There's no explicit when/when-not guidance or comparison to sibling tools like semantic_search, fuzzy_search, or hybrid_search, leaving the agent with little context for selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'typo tolerance' which is useful context, but doesn't describe what the tool returns (e.g., results format, ranking), whether it has performance characteristics or rate limits, or what happens with the various parameters. For a search tool with 5 parameters, this leaves significant gaps.

    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?

    The description is extremely concise (5 words) and front-loaded with the core functionality. Every word earns its place: 'Perform' (action), 'fuzzy search' (function), 'with typo tolerance' (key differentiation). There's zero waste or redundancy.

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

    Completeness2/5

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

    For a search tool with 5 parameters (3 undocumented), no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, how results are structured, or the purpose of most parameters. The 'typo tolerance' hint is helpful but insufficient given the tool's complexity and lack of structured documentation.

    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 only 40% (2 of 5 parameters have descriptions), so the description needs to compensate but doesn't mention any parameters. The description's 'typo tolerance' hint relates to the 'query' parameter's behavior, but doesn't explain the purpose of 'threshold', 'tags', 'minImportance', or 'maxImportance'. This provides minimal value beyond the schema.

    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 clearly states the tool's function ('Perform fuzzy search') and adds a key behavioral trait ('with typo tolerance'), which distinguishes it from exact-match search tools. However, it doesn't explicitly differentiate from sibling tools like 'boolean_search', 'semantic_search', or 'hybrid_search', which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'boolean_search' or 'semantic_search' from the sibling list. It mentions 'typo tolerance' which implies usage for queries with potential spelling errors, but doesn't specify when other search methods would be more appropriate or what the trade-offs are.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but lacks details on permissions, rate limits, response format, or error handling. For a read operation with no annotation coverage, this is a significant gap in transparency.

    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?

    The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., list of aliases, error cases) or provide behavioral context needed for a tool with no structured safety or response information.

    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%, with the parameter 'canonicalTag' fully documented in the schema. The description adds no additional meaning beyond implying the input is a tag name, so it meets the baseline score without compensating for any gaps.

    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 clearly states the verb 'Get' and the resource 'all aliases for a canonical tag', making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'list_tag_aliases' or 'resolve_tag', which might have overlapping functionality, preventing a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools such as 'list_tag_aliases' and 'resolve_tag' present, there is no indication of context, prerequisites, or exclusions, leaving the agent without usage direction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'calculate centrality metrics' but doesn't mention whether this is a read-only operation, if it requires specific permissions, potential performance impacts, or what the output looks like (e.g., format, size). For a tool with 6 parameters and no annotations, this is a significant gap in transparency.

    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?

    The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the complexity of a 6-parameter tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., read/write nature, performance), usage context, and output format, which are crucial for an AI agent to invoke it correctly in a graph analysis environment.

    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?

    The input schema has 100% description coverage, with each parameter well-documented (e.g., algorithm choices, direction options, defaults). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without compensating value.

    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 clearly states the action ('calculate') and the resource ('centrality metrics for entities in the graph'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_graph_stats' or 'analyze_query', which might also involve graph analysis, so it misses full sibling distinction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_graph_stats' and 'analyze_query' that might overlap in graph analysis, there's no explicit context, exclusions, or named alternatives mentioned, leaving usage unclear.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Get the depth' but doesn't explain what 'depth' means (e.g., number of levels from root, specific metric), whether it's a read-only operation, potential errors if the entity doesn't exist, or the return format. This leaves significant gaps in understanding the tool's behavior.

    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?

    The description is a single, direct sentence with no wasted words. It's front-loaded and efficiently conveys the core action, making it easy to parse quickly without unnecessary elaboration.

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

    Completeness2/5

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

    Given the complexity (hierarchy tool with no annotations, no output schema, and 0% schema coverage), the description is incomplete. It doesn't explain what 'depth' entails, how results are returned, or any behavioral nuances. For a tool that likely returns numerical or structured data, more context is needed to use it effectively.

    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?

    The input schema has 1 parameter with 0% description coverage, and the description doesn't add any details about 'entityName' (e.g., format, examples, constraints). However, with only one parameter, the baseline is higher; the description implies it's for an entity but doesn't compensate for the lack of schema details, so a score of 3 reflects minimal adequacy given the simplicity.

    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 clearly states the verb ('Get') and resource ('depth of an entity'), making the purpose understandable. It doesn't distinguish from siblings like 'get_ancestors' or 'get_descendants' which might provide related hierarchical information, but the core action is specific enough for basic understanding.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is for checking hierarchy levels, how it relates to siblings like 'get_ancestors' or 'get_parent', or any prerequisites such as entity existence. The description only states what it does, not when to apply it.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets statistics' but doesn't specify whether it's read-only, what permissions are needed, if it's computationally intensive, or what the output format might be. This leaves significant gaps for a tool that likely provides summary data.

    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?

    The description is a single, efficient sentence: 'Get statistics about the knowledge graph'. It's front-loaded with the core action and resource, with no wasted words or unnecessary elaboration, making it highly concise and well-structured.

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

    Completeness2/5

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

    Given the tool's likely complexity (providing graph statistics) and lack of annotations and output schema, the description is incomplete. It doesn't explain what statistics are returned, their format, or any behavioral traits, leaving the agent with insufficient information to use the tool effectively in context.

    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?

    The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate given the empty schema, earning a baseline score of 4 for adequately handling the lack of parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states the tool's purpose as 'Get statistics about the knowledge graph', which is clear but vague. It specifies the verb 'get' and resource 'statistics', but doesn't detail what types of statistics (e.g., node count, edge density, size metrics) or distinguish it from siblings like 'get_centrality' or 'get_connected_components' that also provide statistical insights.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_centrality' (for centrality metrics) and 'get_connected_components' (for component analysis), there's no indication whether this tool is a general summary or serves a specific statistical role, leaving usage unclear.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Get') but doesn't describe what 'suggestions' entail (e.g., format, source, or limitations), whether it's read-only, has rate limits, or requires authentication. This leaves significant gaps in understanding the tool's behavior.

    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?

    The description is a single, efficient sentence with zero waste. It's front-loaded and directly states the tool's purpose without unnecessary elaboration, making it easy to parse quickly.

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

    Completeness2/5

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

    Given no annotations and no output schema, the description is incomplete for a tool with 2 parameters. It doesn't explain what 'suggestions' are returned, their format, or any behavioral traits, leaving the agent with insufficient context to use the tool effectively.

    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%, so the schema fully documents both parameters ('query' and 'maxSuggestions'). The description adds no additional meaning beyond what's in the schema, such as examples or constraints. Baseline 3 is appropriate 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.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Get search suggestions for a query' clearly states the verb ('Get') and resource ('search suggestions'), making the purpose understandable. It distinguishes from siblings like 'search_auto' or 'smart_search' by focusing on suggestions rather than full search results. However, it lacks specificity about the type of suggestions (e.g., autocomplete, related terms).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'search_auto', 'fuzzy_search', or 'analyze_query'. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage based on the tool name alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't cover critical aspects like whether this is a read-only operation, potential performance impacts for large subgraphs, error conditions, or return format. This leaves significant gaps in understanding how the tool behaves.

    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?

    The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the complexity of retrieving a subgraph, no annotations, no output schema, and minimal parameter guidance, the description is incomplete. It doesn't address what the output looks like, how deep the subgraph goes, or any limitations, making it inadequate for confident tool invocation.

    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?

    The description adds no parameter information beyond the schema, which has 0% description coverage for the single parameter 'entityName'. However, since there's only one parameter, the baseline is higher, but the description doesn't clarify what 'entityName' represents (e.g., format, examples, or constraints), missing an opportunity to compensate for the schema gap.

    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 clearly states the verb ('Get') and resource ('entity and all its descendants as a subgraph'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_children', 'get_descendants', or 'get_ancestors', which also retrieve related entities, so it misses full sibling distinction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'get_children' or 'get_descendants'. It lacks context about use cases, exclusions, or prerequisites, leaving the agent with minimal direction for tool selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Import' suggests a write operation that modifies the graph, but the description doesn't mention permissions needed, whether this is a bulk operation, what happens to existing data, or any rate limits. It mentions 'various formats' but doesn't elaborate on format-specific behaviors or constraints.

    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?

    The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with 4 parameters and gets straight to the point with zero wasted text.

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

    Completeness2/5

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

    For a graph import tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'import' entails operationally (does it create entities/relations?), what formats are supported beyond the schema's enum, how conflicts are resolved, or what the tool returns. The lack of behavioral context and output information creates significant gaps.

    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 75% (3 of 4 parameters have descriptions), so the baseline is 3. The description adds minimal value beyond the schema - it mentions 'various formats' which aligns with the 'format' parameter's enum, but doesn't provide additional context about format requirements, data structure expectations, or practical usage of the mergeStrategy and dryRun parameters.

    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 clearly states the verb ('import') and resource ('knowledge graph'), specifying the action and target. It also mentions 'from various formats' which provides some scope. However, it doesn't explicitly differentiate from sibling tools like 'export_graph' or 'read_graph' beyond the directional implication of 'import' vs 'export'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided about when to use this tool versus alternatives. While 'import' implies data ingestion, there's no mention of prerequisites, when to choose this over other data loading methods, or how it relates to sibling tools like 'create_entities' or 'add_observations' that might handle similar data.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Merge multiple entities into one' implies a destructive mutation (entities are combined, possibly altering or deleting original data), but it doesn't specify critical details: whether the merge is reversible, what happens to properties/relations of merged entities, if permissions are required, or the output format. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

    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?

    The description is a single, efficient sentence with zero waste: 'Merge multiple entities into one'. It is front-loaded and directly conveys the core action without unnecessary elaboration. Every word earns its place, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    Given the complexity of a merge operation (likely destructive), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the merge behavior (e.g., how conflicts are resolved), prerequisites, or what is returned. For a tool that could significantly alter data, more context is needed to ensure safe and correct usage by an agent.

    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%, with clear descriptions for 'entityNames' ('Entities to merge') and 'targetName' ('Optional target entity name'). The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints (e.g., minimum number of entities). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't detract either.

    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 'Merge multiple entities into one' clearly states the verb ('merge') and resource ('entities'), specifying the action and target. It distinguishes from siblings like 'create_entities' or 'delete_entities' by focusing on consolidation rather than creation or removal. However, it doesn't specify what 'entities' are in this context (e.g., nodes in a graph) or how the merge operation works, which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing entities to merge), exclusions (e.g., cannot merge entities with conflicting properties), or comparisons to siblings like 'merge_tags' or 'find_duplicates'. Without such context, an agent must infer usage from the tool name alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('merge') but doesn't clarify if this is destructive (e.g., whether original tags are deleted), permission requirements, side effects on entities, or error handling. The description is minimal and misses critical behavioral details for a mutation operation.

    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?

    The description is a single, efficient sentence that front-loads the core action and scope without unnecessary words. It directly communicates the tool's purpose in a compact form, making it easy to parse quickly.

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

    Completeness2/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 annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., destructiveness, permissions), expected outcomes, error cases, or how the merge affects existing data. Given the complexity of merging tags across entities, more context is needed for safe and effective use.

    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%, with clear parameter descriptions in the schema. The description adds no additional semantic context beyond implying that 'tag1' and 'tag2' are merged into 'targetTag' across entities. It doesn't explain parameter interactions or constraints, so it meets the baseline for high schema coverage.

    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 clearly states the action ('merge') and resources ('two tags into a target tag'), specifying scope ('across all entities'). It distinguishes from sibling tools like 'replace_tag' or 'remove_tags' by focusing on merging rather than replacement or deletion. However, it doesn't explicitly differentiate from 'merge_entities', which handles entity merging rather than tag merging.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives like 'replace_tag' or 'remove_tags', nor does it mention prerequisites or exclusions. It implies usage for merging tags across entities but lacks context about when this operation is appropriate or what happens to the original tags.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the normalization actions but doesn't disclose behavioral traits such as whether this is a read-only or mutating operation (the 'persist' parameter suggests potential storage changes), performance implications, or error handling. The description is too brief to cover these aspects adequately for a tool with parameters.

    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?

    The description is highly concise and front-loaded: two sentences that directly state the purpose and benefit. There is no wasted language, and it efficiently communicates the core functionality without unnecessary details.

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

    Completeness2/5

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

    Given the complexity (3 parameters, nested objects, no annotations, no output schema), the description is incomplete. It lacks details on what 'normalize' entails operationally, how results are returned, or the impact of the 'persist' parameter. For a tool that might modify data, more context is needed to guide safe and effective use.

    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 67% (2 out of 3 parameters have descriptions). The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain the 'entityName' parameter's role in normalization or the 'options' sub-parameters' effects. With moderate schema coverage, the baseline is 3, as the description doesn't compensate for the gaps.

    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 clearly states the tool's purpose: 'Normalize entity observations by resolving pronouns and anchoring relative dates.' It specifies the action (normalize), the target (entity observations), and the methods (resolving pronouns, anchoring dates). However, it doesn't explicitly differentiate this from sibling tools like 'analyze_query' or 'smart_search' which might also process text, though the normalization focus is reasonably distinct.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides minimal guidance: 'Improves search matching quality' implies it should be used to enhance search results, but it doesn't specify when to use this tool versus alternatives like 'analyze_query' or 'semantic_search', nor does it mention prerequisites or exclusions. No explicit when/when-not instructions are given.

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

  • Behavior2/5

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

    No annotations provided, so description must disclose behavioral traits. It only mentions delegation to CausalReasoner but does not state if it is read-only, what it returns, or any side effects. Critical details like output format or idempotency are absent.

    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?

    Single sentence plus internal delegation note. Efficient but includes a versioning prefix ('3B.7 —') that adds little for an agent. Overall concise.

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

    Completeness2/5

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

    No output schema, and description does not hint at return format or how predictions are presented. Lacks context relative to many sibling causal tools. Incomplete for effective agent decision-making.

    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% with clear descriptions for both parameters. Description adds minimal value beyond schema, mainly clarifying the causal context. Baseline 3 is 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?

    Description clearly states it predicts downstream effects by walking causal subgraph. Verb 'predict' and resource 'downstream effects' are specific. Implicitly distinguishes from siblings like find_effects by mentioning action and candidates parameters, but no explicit differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives. Sibling list includes find_effects and counterfactual_query, but description offers no context for selection or prerequisites (e.g., existence of a causal model).

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits like side effects (e.g., whether the working memory entry is removed after promotion). It only states the action without elaboration, leaving key behaviors unclear.

    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 description is a single concise sentence that front-loads the core purpose. No irrelevant information, but could be slightly expanded without harming conciseness.

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

    Completeness2/5

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

    Given no output schema and a modification tool, the description lacks return value information and context on how it relates to sibling memory tools. It feels incomplete for a tool that changes memory state.

    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?

    The input schema has 100% description coverage, so the baseline is 3. The description adds no extra meaning beyond schema fields; it does not clarify the format or constraints of memoryName or the default for targetType.

    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 clearly states the action (promote) and the resource (working memory entry) and specifies the target types (episodic or semantic). It distinguishes the tool from siblings like add_working_memory or consolidate_session, though not explicitly.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives such as consolidate_session or add_working_memory. The description lacks explicit context on prerequisites or conditions.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility. It mentions 'execute' which implies side effects, but does not clarify whether the tool is read-only or modifies state. No details on permissions, rate limits, or what happens to the search plan after execution.

    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 description is a single sentence, concise and front-loaded. However, it could be slightly more detailed without losing conciseness, e.g., about output format.

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

    Completeness2/5

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

    Given the simplicity (1 param, no output schema, no annotations), the description is minimally sufficient. It lacks details on return structure, how the plan is executed, and what 'matching entities' looks like. More context would improve usability.

    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?

    The only parameter `query` has full schema description, and the tool description adds minimal new meaning beyond restating it. With 100% schema coverage, baseline is 3, and the description does not compensate with additional semantics.

    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 clearly states the tool decomposes a natural language query into a structured search plan and returns matching entities. It provides a specific verb and resource, distinguishing it from simpler search tools like `boolean_search` or `fuzzy_search`, though it doesn't explicitly differentiate from `semantic_search` or `hybrid_search`.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. The description lacks any context about preferred use cases, prerequisites, or exclusions, leaving the agent to infer when this natural language planning tool is appropriate.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only states it returns true if found, implying false otherwise, but does not mention destructive nature, required permissions, or side effects. For a removal operation, this is insufficient.

    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 description is concise and front-loaded with the action and return type. The version prefix 'v2.1.0' is minor noise but not harmful. It wastes no words, though it could pack more useful information.

    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 simple tool with two parameters and no output schema, the description is minimal but covers the core function. However, given the extensive sibling list, more context about error handling or relationship to other commands would improve completeness.

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

    Parameters1/5

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

    The input schema has zero description coverage for its two parameters (projectId, commandName). The description does not add any meaning beyond their names, leaving the agent uninformed about formats, constraints, or expected values.

    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?

    The description clearly states the verb 'Remove' and the resource 'command', specifying it removes a command by name and returns a boolean. This distinguishes it from sibling tools like 'append_project_command' (add) and 'remove_project_fact' (different resource).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. Among many sibling removal tools (e.g., remove_project_fact, remove_project_convention), no differentiation or context is given. There are no prerequisites or when-not-to-use hints.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Remove') but doesn't clarify whether this is a destructive operation, what permissions are required, if changes are reversible, or how errors are handled. For a mutation tool, this leaves significant gaps in understanding its behavior.

    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?

    The description is a single, efficient sentence with no wasted words, clearly front-loading the core action. It's appropriately sized for a simple tool with two parameters.

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

    Completeness2/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 annotations and no output schema, the description is inadequate. It doesn't explain what happens on success/failure, whether tags must exist to be removed, or how it interacts with other tag operations. Given the complexity implied by sibling tools, more context is needed.

    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%, so the schema fully documents both parameters ('entityName' and 'tags'). The description adds no additional meaning beyond what's in the schema, such as examples or constraints, but the high coverage justifies the baseline score of 3.

    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 clearly states the action ('Remove') and target ('tags from an entity'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'remove_tag_alias' or 'merge_tags', which also involve tag manipulation, leaving some ambiguity about scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'merge_tags' or 'replace_tag', nor are prerequisites or exclusions mentioned. The description lacks context for distinguishing it from other tag-related operations in the sibling list.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool replaces a tag across all entities, implying a mutation operation, but lacks details on permissions, side effects (e.g., if it affects linked data), error handling, or response format. For a mutation tool with zero annotation coverage, this is insufficient.

    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?

    The description is a single, efficient sentence with zero waste. It is front-loaded with the core action and scope, making it easy to parse quickly.

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

    Completeness2/5

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

    Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks behavioral details (e.g., what happens on failure, if changes are reversible) and doesn't explain the return values. For a tool that modifies data across all entities, more context is needed.

    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%, with clear descriptions for 'oldTag' and 'newTag'. The description adds no additional parameter semantics beyond what the schema provides (e.g., no examples, constraints, or format details). Baseline 3 is appropriate 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.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Replace') and resource ('a tag'), specifying it applies 'across all entities'. It distinguishes from sibling tools like 'merge_tags' (which likely merges tags rather than replacing one with another) and 'remove_tags' (which removes rather than replaces). However, it doesn't explicitly differentiate from all tag-related siblings like 'add_tag_alias' or 'resolve_tag'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the old tag must exist), exclusions (e.g., not for partial replacements), or direct comparisons to siblings like 'merge_tags' or 'remove_tags'. The context is implied but not explicit.

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

  • Behavior1/5

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

    No annotations exist, and the description does not disclose any behavioral traits or side effects, such as whether saving overwrites an existing search with the same name, authentication requirements, or rate limits.

    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 description is a single, front-loaded sentence that efficiently conveys the core purpose. It is not verbose, though it could benefit from slightly more detail without becoming wordy.

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

    Completeness2/5

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

    Given the complexity (6 parameters, no output schema, no annotations), the description is too sparse. It fails to explain return value, error conditions, or required context, making it insufficient for an agent to use confidently.

    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?

    The input schema has 100% description coverage, so the schema already documents each parameter's meaning. The tool description adds no additional context or examples beyond the schema's descriptions.

    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?

    The description clearly states the verb 'save' and the resource 'search query' with the purpose 'for later reuse', which effectively distinguishes it from sibling tools like execute_saved_search or delete_saved_search.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., update_saved_search, list_saved_searches) or any prerequisites such as whether a search must first be created.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions optional filtering but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, result format, or whether it's read-only/destructive. For a search tool with no annotation coverage, this leaves significant gaps.

    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?

    The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the core functionality without unnecessary elaboration.

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

    Completeness2/5

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

    Given the complexity of a search tool with no annotations, no output schema, and many sibling alternatives, the description is incomplete. It lacks behavioral context, usage differentiation, and output expectations, making it inadequate for reliable agent operation.

    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%, so the schema already documents all parameters thoroughly. The description adds minimal value by mentioning 'optional tag and importance filtering', which aligns with but doesn't expand beyond the schema. Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the verb ('search') and resource ('nodes in the knowledge graph'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from similar siblings like 'search_nodes_ranked', 'fuzzy_search', or 'semantic_search', which would require a 5.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling search tools (e.g., search_nodes_ranked, fuzzy_search, semantic_search), the lack of differentiation leaves the agent without clear usage context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions a configuration requirement, which adds some context, but fails to describe key behaviors such as what 'entities' refer to, how results are returned (e.g., format, pagination), performance expectations, or error handling. For a search tool with no annotations, this leaves significant gaps in understanding its operation.

    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?

    The description is highly concise and front-loaded: it states the core purpose in the first sentence and adds a necessary prerequisite in the second. Every sentence earns its place by providing essential information without redundancy or fluff, making it efficient and well-structured for quick comprehension.

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

    Completeness2/5

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

    Given the tool's complexity (semantic search with 3 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'entities' are in this context, how results are structured, or provide examples of use cases. While concise, it fails to compensate for the missing structured data, leaving the agent with insufficient context for effective tool invocation.

    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%, so the input schema fully documents the parameters (query, limit, minSimilarity) with descriptions and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as explaining 'semantic similarity' in relation to the query or thresholds. Baseline 3 is appropriate since the schema handles parameter documentation adequately.

    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 clearly states the tool's purpose: 'Search for entities using semantic similarity.' It specifies the verb ('Search'), resource ('entities'), and method ('semantic similarity'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'fuzzy_search' or 'boolean_search', which also search entities but with different methods, so it misses full sibling differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides minimal usage guidance: it mentions a prerequisite ('Requires embedding provider to be configured via MEMORY_EMBEDDING_PROVIDER'), but offers no explicit advice on when to use this tool versus alternatives like 'fuzzy_search' or 'boolean_search' from the sibling list. There's no context on scenarios where semantic search is preferred, making it inadequate for informed tool selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It does not state whether the restore is destructive (e.g., overwrites current session), requires permissions, or invalidates the checkpoint. This is a significant gap for a state-changing operation.

    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?

    Single, clear sentence with no unnecessary words. Front-loaded and efficient.

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

    Completeness2/5

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

    Given the tool's simplicity (1 param, no output schema, no annotations), the description is minimal but lacks important behavioral context. It does not explain what happens to the current session, making it incomplete for safe usage.

    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% with a clear description for the only parameter. The tool description does not add extra meaning beyond the schema, but baseline 3 is 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 description clearly states the action (restore) and the resource (session from a checkpoint). It is specific and distinguishes from sibling tools like 'session_start' and 'session_checkpoint', though it could explicitly contrast with them.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. Implied usage for resuming a session, but no prerequisites or exclusions are mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits like whether this is a mutation (implied by 'Set'), permission requirements, idempotency, side effects, or error handling for invalid entities/scores.

    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?

    The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and includes essential context (the 0-10 range) without unnecessary elaboration.

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

    Completeness2/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 annotations and no output schema, the description is incomplete. It lacks information about what happens on success/failure, return values, error conditions, or how importance scores affect the system (e.g., impact on search ranking).

    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%, so parameters are fully documented in the schema. The description adds no additional meaning beyond implying the 'importance' parameter range (0-10), which is already clear from the schema's description. Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the action ('Set') and resource ('importance score of an entity') with a specific numeric range (0-10). It distinguishes itself from siblings like 'add_tags' or 'merge_entities' by focusing on importance scoring, though it doesn't explicitly contrast with similar tools like 'set_entity_parent'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., entity must exist), exclusions, or how it relates to sibling tools like 'create_entities' or 'update_saved_search' in a workflow.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It discloses behavioral traits like 'automatic query planning,' 'reflection-based refinement,' and iterative improvement until an adequacy threshold is met. However, it lacks details on permissions, rate limits, error handling, or what constitutes 'adequate' results beyond the parameter, leaving gaps for a mutation-like process.

    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 description is concise with two sentences that efficiently convey the core functionality. It is front-loaded with the main purpose ('Intelligent search...') and follows with iterative behavior. There is no wasted text, though it could be slightly more structured for clarity.

    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?

    Given the complexity (iterative refinement tool), lack of annotations, and no output schema, the description is moderately complete. It covers the iterative nature and key parameters implicitly, but fails to explain return values, error cases, or performance implications, which are crucial for an agent to use it effectively without structured output guidance.

    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%, so the schema already documents all 5 parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining how 'adequacyThreshold' relates to 'iteratively improves' or the impact of 'includePlan.' With high coverage, the baseline score of 3 is 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 description clearly states the tool performs 'intelligent search with automatic query planning and reflection-based refinement' and 'iteratively improves results until adequate,' which specifies the verb (search with refinement) and resource (results). However, it doesn't explicitly distinguish this from sibling tools like 'search_auto,' 'semantic_search,' or 'hybrid_search,' which appear to be related search alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It mentions 'iteratively improves results until adequate,' which implies usage for quality refinement, but doesn't specify contexts, prerequisites, or exclusions compared to other search tools in the sibling list. This leaves the agent without clear decision criteria.

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

  • Behavior2/5

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

    The description indicates a destructive operation ('Wipe') but does not disclose reversibility, side effects, permission requirements, or whether other aspects of the project remain intact beyond the entity. No annotations are present to supplement.

    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?

    The description is a single, front-loaded sentence with no superfluous words. It efficiently conveys the core action and scope.

    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 simple destructive operation with one parameter and no output schema, the description covers the basic effect (what is wiped, what is kept). However, missing usage guidance and behavioral transparency leaves gaps for an agent to understand when and how to use the tool safely.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not elaborate on the 'projectId' parameter (e.g., format, valid values, or where to find it). This leaves the agent to infer its meaning solely from the parameter name.

    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?

    The description clearly states the action ('Wipe'), the target resource ('four arrays: facts/conventions/commands/glossary'), and the scope ('for projectId') while distinguishing from related tools like append_project_fact or remove_project_fact. It also notes that the entity itself is preserved.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives (e.g., remove_project_fact for individual entries, or upsert_project_context for full replacement). No prerequisites, consequences, or context provided.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It hints at a read-only analysis ('detect patterns') but does not confirm side effects, required permissions, or whether the operation is destructive. The token-based nature is mentioned but not elaborated.

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

    Conciseness3/5

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

    The description is a single sentence, which is very concise but may be under-specified. It lacks crucial information such as the output format or when to use it, making it insufficient for adequate understanding despite its brevity.

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

    Completeness2/5

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

    Without an output schema, the description should explain what the tool returns (e.g., list of patterns, counts). It fails to do so. The context of many sibling tools heightens the need for differentiation, which is missing. The description is incomplete for effective use.

    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% with descriptions for both parameters. The description adds no additional meaning beyond the schema; it merely echoes 'entity type' without clarifying formats or the default for minOccurrences (which the schema provides). Baseline 3 is appropriate.

    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?

    The description clearly states the action ('detect patterns') and the target resource ('observations of a given entity type'), using the specific verb 'detect' and the resource 'token-based patterns across observations'. It distinguishes from siblings like 'detect_contradictions' and 'find_duplicates' by specifying 'recurring token-based patterns'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like semantic search or duplicate detection. There are no exclusion criteria or examples of typical use cases, leaving the agent to infer usage without explicit help.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only discloses basic toggling behavior. No mention of side effects on existing memories, reversibility, or statefulness.

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

    Conciseness3/5

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

    The description is a single sentence, efficient but not front-loaded. Lacks structured breakdown; could be more informative without being verbose.

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

    Completeness2/5

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

    Given no output schema and no annotations, the description should explain effect on consolidation and return value. It omits workflow context and behavioral details.

    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 description adds minimal value. The description does not elaborate on parameter usage beyond the schema's descriptions.

    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?

    The description clearly states the action (enable/disable) and the resource (Shannon entropy gate) with its function (drops low-information memories during consolidation). It is specific and distinct from sibling tools like compute_entropy or configure_distillation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives (e.g., configure_distillation, compute_entropy). Does not mention prerequisites, side effects, or when to avoid.

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

  • Behavior3/5

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

    No annotations exist, so the description carries full burden. It discloses the fallback to defaultRole=reader, a key behavior. However, it does not mention side effects, auth needs, or return type.

    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?

    The description is extremely concise, consisting of two short sentences that front-load the purpose and key behavior. No filler or redundancy.

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

    Completeness2/5

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

    Given the tool has 5 parameters, no output schema, and moderate complexity, the description is too minimal. It omits the return value, result format, and any context about the fallback behavior's implications.

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

    Parameters2/5

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

    Schema description coverage is 40%, meaning some parameters lack schema descriptions. The tool description adds no parameter details beyond the schema, failing to compensate for the gap.

    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 clearly states the tool checks whether an agent can perform an action on a resource type, with a specific verb and resource. It is distinct from sibling RBAC tools like assignment tools, but does not explicitly differentiate.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives, excludes when-not-to-use, and lacks context about prerequisites.

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

  • Behavior3/5

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

    With no annotations, description bears full burden. It discloses internal delegation and null return behavior, but omits side effects, permissions, error states, and success/failure indications. Provides some useful context but remains incomplete.

    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?

    Extremely concise: two sentences, no filler. Front-loaded with purpose, followed by a behavioral detail. Every word earns its place.

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

    Completeness2/5

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

    Given no annotations, no output schema, and zero schema coverage, the description is too sparse. It fails to explain return values beyond null, input expectations, or operational semantics, leaving significant gaps for an agent to invoke correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so description must add meaning. It gives general context for parameters ('observation' and 'entity name') but does not specify formats, constraints, examples, or how they relate to validation. Minimal added value beyond parameter names.

    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?

    Description clearly states the action ('validate') and the resource ('candidate observation against a target entity'). It distinguishes the tool's purpose, but does not explicitly differentiate from sibling validation tools like detect_contradictions or validate_graph.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. The description lacks context for selection among many sibling validation tools. No exclusions or prerequisites mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavior. It only mentions 'dedup by name' as a behavioral trait. It does not explain whether the tool is idempotent, what happens on conflict (skip or update), return value, or error cases. The version prefix 'v2.1.0' provides no behavioral context.

    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 description is very short and to the point, but includes a version prefix 'v2.1.0' which is unnecessary for tool selection. The core sentence is clear and front-loaded. Slightly less than perfect due to the extraneous version info.

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

    Completeness2/5

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

    Given four required parameters and no output schema or annotations, the description lacks critical context: no mention of return value, error handling, prerequisites (e.g., project must exist), or how dedup behaves exactly. Incomplete for a mutation tool with no structural guards.

    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 75% (3 of 4 parameters have descriptions). The tool description itself adds no additional parameter information beyond what the schema already provides. Baseline is 3, correct as the description does not need to compensate further.

    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?

    The description clearly states the tool appends a documented project command, with deduplication by name. The verb 'append' and resource 'project command' are specific, and it distinguishes from siblings like 'remove_project_command' and other append tools (e.g., 'append_project_fact') by specifying the resource type and dedup behavior.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. With many siblings performing similar append operations (e.g., append_project_fact, append_project_convention), the description offers no context for selection or exclusions. Missing explicit when-to-use or when-not-to-use information.

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

  • Behavior2/5

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

    No annotations provided, so description must disclose behavioral traits. Only states creation and auto-generated ref; missing details on idempotency, side effects, permissions, or error cases.

    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?

    Single sentence, concise and front-loaded with purpose. Efficient but could be slightly elaborated.

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

    Completeness2/5

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

    With 5 parameters (3 required) and no output schema, the description is too brief. Does not explain return value, success/failure behavior, or entity lifecycle implications.

    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%, meeting baseline. Description adds no extra parameter information beyond the schema, so no improvement.

    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?

    Describes verb 'create' and resource 'artifact entity' with clear examples (tool output, code snippet, API response). Specifies key feature 'stable auto-generated ref', distinguishing it from pure storage tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus siblings like get_artifact or list_artifacts. Agent must infer context from name alone.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It mentions supported features but does not disclose side effects, idempotency, error behavior, or permissions. Behavioral context is minimal.

    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?

    Two sentences, front-loaded with purpose and key version features. No redundancy, but could be slightly more concise by omitting version labels.

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

    Completeness2/5

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

    Given the large sibling list and no output schema, the description does not differentiate from similar creation tools or explain what happens on success/failure. Lacks guidance on when to use this vs add_observations or create_relations.

    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?

    While the input schema has full descriptions for most parameters, the description adds contextual grouping by version features (v1.6, v1.8, η.4.4). However, with schema description coverage at 0% (description does not re-state params), it adds moderate value.

    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?

    The description clearly states it creates multiple new entities in a knowledge graph, using specific verbs and resource. It distinguishes itself from siblings that are more specific (e.g., create_relations, add_observations).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like create_relations or add_observations. The description does not mention prerequisites or when not to use it.

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

  • Behavior2/5

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

    Minimal behavioral info beyond the method. No annotations provided. Does not state if it modifies state, what happens when no contradictions found, or performance implications. 'Using semantic similarity' hints but is insufficient.

    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?

    Single sentence, no wasted words. Could benefit from a structured format (e.g., separating purpose, behavior, output), but current form is efficient.

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

    Completeness2/5

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

    Lacks output description; no output schema provided. No coverage of edge cases or examples. For a tool with no annotations, this is incomplete.

    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% with descriptions for both parameters. The description adds no new parameter details beyond the schema. Baseline 3 is appropriate.

    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?

    Clearly states verb 'Find', resource 'conflicting observations within an entity', and method 'using semantic similarity'. Distinct from sibling tools like detect_heuristic_conflicts, find_causes, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives such as detect_heuristic_conflicts or find_duplicate_observations. No mention of prerequisites or typical use cases.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action 'find' but does not describe what the tool returns (e.g., list of components, their sizes, or graph structure), performance implications, or any side effects. This is inadequate for a tool with zero annotation coverage.

    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?

    The description is a single, clear sentence with no wasted words. It is front-loaded with the core purpose and efficiently communicates the tool's function without unnecessary details, making it highly concise and well-structured.

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

    Completeness2/5

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

    Given the complexity of graph operations and the lack of annotations and output schema, the description is incomplete. It does not explain what 'connected components' means in this context, the format of the output, or any behavioral traits like computational cost or data returned, leaving significant gaps for an AI agent to understand and use the tool effectively.

    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?

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not mention any parameters, which is appropriate and avoids redundancy. However, it does not add any semantic context beyond the schema, such as default behaviors or implicit inputs, keeping it at a baseline level.

    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 clearly states the verb 'find' and the resource 'connected components in the knowledge graph', which is specific and unambiguous. However, it does not explicitly distinguish this tool from sibling tools like 'find_shortest_path' or 'find_all_paths', which also operate on graph connectivity, so it misses full sibling differentiation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'find_shortest_path' and 'find_all_paths' that involve graph traversal, there is no indication of the specific context or criteria for choosing 'get_connected_components' over them, leaving usage unclear.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It only states the action without mentioning side effects, performance, scope (e.g., project-wide or global), or whether it is a safe read operation.

    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 description is a single sentence, which is concise. However, it is so brief that it omits useful context like usage guidelines, making it slightly under-informative for the conciseness ideal.

    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?

    Given the absence of parameters and output schema, the description is minimally adequate but lacks details about return format, scope, and differentiation from similar sibling tools, leaving room for improvement.

    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?

    The tool has zero parameters and 100% schema coverage, so the description has nothing to add beyond the schema. Per the guidelines, this warrants a baseline score of 4.

    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 clearly states the tool returns expired entities based on TTL. It uses a specific verb and resource, but does not explicitly distinguish it from the sibling tool 'get_stale_entities', which could cause confusion.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'get_stale_entities' or 'check_freshness'. The description lacks context for appropriate usage.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It mentions the output type but does not disclose side effects, safety, or required permissions. The agent cannot determine if this is a read-only operation.

    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?

    The description is a single sentence that is front-loaded and to the point. Every word adds value, with no unnecessary information.

    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?

    The description and schema together provide basic functionality, but the lack of output schema and examples leaves gaps. The agent may need more context about how matches are formatted or how to use the threshold parameter effectively.

    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 baseline is 3. The description adds no parameter-specific details beyond what the schema already provides, but does not omit anything.

    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 clearly states the tool's action ('token-overlap match'), target ('stored procedures'), and output ('ranked matches with Jaccard-like scores'). It distinguishes from many sibling search tools by specifying a particular algorithm, but does not explicitly contrast with alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like fuzzy_search, semantic_search, or other matching tools. The agent receives no help in deciding which tool to invoke.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Read' implies a safe operation, but it doesn't specify what 'entire' means in practice (size limits, performance considerations, format of returned data, or whether this might be resource-intensive). The description lacks crucial context about what the tool actually returns.

    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?

    The description is maximally concise with a single, clear sentence that communicates the essential purpose. Every word earns its place, and there's no wasted verbiage or redundant information.

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

    Completeness2/5

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

    For a tool with no annotations, no output schema, and no parameters, the description is insufficiently complete. It doesn't explain what format the graph data is returned in, whether there are size/performance considerations for 'entire' graphs, or how this differs from export operations. The description leaves too many practical questions unanswered.

    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?

    The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it correctly focuses on the tool's core functionality without unnecessary parameter explanations.

    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 clearly states the action ('read') and resource ('the entire knowledge graph'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_graph_stats' or 'export_graph' that also provide graph information, so it doesn't fully distinguish from alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling tools that access graph data (like 'get_graph_stats', 'search_nodes', 'export_graph'), there's no indication of when this comprehensive read operation is preferred over more targeted queries.

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

  • Behavior2/5

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

    The description does not disclose what happens upon conflict resolution (e.g., is one memory deleted? Are they merged? Is a new memory created?). The strategy enum hints at outcomes but the description fails to explain the behavioral effect, and no annotations are present to mitigate this lack.

    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 description is a single concise sentence that wastes no words. However, it could be more informative without adding significant length, such as mentioning return value or side effects.

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

    Completeness2/5

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

    With no output schema and a moderately complex operation (3 parameters, one enum), the description is incomplete. It does not explain what the tool returns (e.g., which memory wins), how to interpret the result, or any side effects. This leaves the agent uncertain about invocation outcomes.

    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% and already describes each parameter. The description does not add any additional meaning or usage context beyond the schema, such as how the strategy value affects the resolution process or constraints on memory naming.

    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?

    Description uses a specific verb ('resolve') and resource ('conflict between two agent memories'), clearly distinguishing it from sibling tools like 'detect_contradictions' or 'consolidate_session' which handle related but different operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., 'detect_contradictions', 'consolidate_session', 'merge_entities'). There is no mention of prerequisites, edge cases, or conditions where this tool is not appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool sets or removes a parent, implying mutation, but doesn't disclose behavioral traits such as permissions needed, whether changes are reversible, error handling, or impact on related entities. This is inadequate for a mutation tool with zero annotation coverage.

    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?

    The description is a single, efficient sentence that is front-loaded and wastes no words. Every part contributes directly to understanding the tool's purpose.

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

    Completeness2/5

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

    Given the tool's complexity (mutation with hierarchical effects), lack of annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It should cover more behavioral aspects and usage context to be complete for safe agent invocation.

    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 50% (only 'parentName' has a description). The description adds meaning by clarifying the purpose ('hierarchical organization'), but it doesn't detail parameter semantics beyond what the schema provides. With 2 parameters and partial coverage, the description compensates somewhat, earning a baseline above 3.

    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 clearly states the action ('Set') and resource ('parent of an entity'), with the purpose of 'hierarchical organization'. It's specific about what the tool does, though it doesn't explicitly differentiate from sibling tools like 'move_entity' or 'get_parent'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like 'move_entity' or 'get_parent', nor are any prerequisites or exclusions mentioned. The description implies usage for hierarchy management but lacks explicit context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'validate for integrity issues' but doesn't specify what types of issues are checked, whether it's a read-only or destructive operation, what permissions are required, or what the output entails. This leaves significant gaps for an agent to understand the tool's behavior.

    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?

    The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and appropriately sized for a simple tool, with every part contributing to clarity.

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

    Completeness2/5

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

    Given the complexity implied by 'validate' (which could involve checks, reports, or fixes) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what integrity issues are, what the validation process entails, or what results to expect, making it inadequate for an agent to use effectively without additional context.

    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?

    The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. A baseline of 4 is applied as it meets the requirement for a parameterless tool.

    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 clearly states the tool's purpose as validating the knowledge graph for integrity issues, which is a specific verb ('validate') and resource ('knowledge graph'). However, it doesn't explicitly differentiate from sibling tools like 'get_graph_stats' or 'find_duplicates', which might also relate to graph integrity or analysis.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for graph analysis and maintenance (e.g., 'find_duplicates', 'compress_graph', 'get_graph_stats'), there is no indication of specific contexts, prerequisites, or exclusions for using 'validate_graph'.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It lists computed metrics but does not state whether the tool modifies state (destructive), requires specific user permissions, has side effects, or is read-only. Without annotations, this is a significant gap.

    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?

    The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and outputs. Every word earns its place; no redundancy. Ideal length for a straightforward tool.

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

    Completeness2/5

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

    The tool has two parameters and no output schema or annotations. The description provides a minimal set of output concepts but lacks details on how results are structured, error handling, interpretation guidance, or prerequisites. For an analysis tool, more completeness would help the agent use it correctly.

    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 the schema documents both parameters. The description adds the context of output metrics, which helps understand the parameters' role (e.g., entityNames as input to compute metrics, loadThreshold as filter). However, it does not add format or syntax details beyond schema. Baseline 3 is appropriate.

    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?

    The description clearly states the verb 'analyze' and the resource 'cognitive load of a set of entities'. It lists specific output metrics (token density, redundancy ratio, diversity score, composite load score), making the tool's purpose distinct among many sibling tools. No sibling similarly targets cognitive load analysis.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. Sibling tools include many analysis functions (e.g., detect_contradictions, detect_patterns), but the description does not indicate when cognitive load analysis is appropriate or what problem it solves. No when-not-to-use or alternative suggestions.

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

  • Behavior2/5

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

    No annotations are provided, and the description fails to disclose behavioral traits such as side effects, performance cost, or whether it is read-only. The agent receives no additional context about how this tool behaves beyond its basic function.

    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?

    The description is a single concise sentence that front-loads the tool's purpose. Every word earns its place, with no extraneous information.

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

    Completeness2/5

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

    Given no output schema and no annotations, the description should provide more context about return values and behavior. It does not explain what the tool returns (e.g., entropy value or boolean when minEntropy is used), which would help the agent use it correctly.

    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 the description need not add much. However, it does not elaborate on the optional 'minEntropy' parameter or its effect (e.g., returns boolean vs. entropy value). The description adds minimal value beyond the schema.

    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?

    The description specifies the verb 'compute', the resource 'Shannon entropy of a text string', and the unit 'bits per character'. It clearly distinguishes this tool from siblings, which focus on entity management, search, and other operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or direct users to other tools for similar tasks like other text analysis.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It discloses ordering and chain but does not mention safety (read-only), error handling, rate limits, or side effects. Lacks behavioral context beyond return details.

    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?

    Two concise sentences with no redundancy. First sentence states purpose and ordering; second adds chain information. Every word adds value, and the structure is front-loaded.

    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?

    Given one simple parameter and no output schema, the description adequately covers functionality, ordering, and return content. Missing details like error responses or pagination, but acceptable for a straightforward query tool.

    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% for the single parameter 'name' (Entity name (any version in the chain)). The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is 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?

    Clear verb 'Get' and specific resource 'temporal versions of an entity' with ordering details and mention of v1.8 supersession chain. Distinguishes from similar siblings like get_entity_versions through the focus on chronological order and chain, though not explicitly differentiated.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies use for retrieving temporal versions but does not explicitly state when to use this tool versus alternatives like get_entity_versions or get_version_chain. No guidance on conditions or exclusions.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It only says 'Retrieve' without clarifying whether it's read-only, what happens on missing ref, or any side effects.

    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?

    Single sentence of 12 words, front-loaded with verb and object. Every word is essential and no fluff.

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

    Completeness2/5

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

    No output schema exists, yet description does not hint at what is returned (e.g., entity fields, structure). Given the long list of siblings, more context would help understanding the tool's role.

    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% and the parameter 'ref' already has a clear description with an example. The tool description does not add additional meaning beyond that.

    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?

    Description explicitly states 'Retrieve an artifact entity by its stable ref or entity name', using a specific verb and resource. It distinguishes from sibling tools that do other operations like inspect, depth, or subtree retrieval.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like inspect_entity or get_entity_depth. Context of use is implied but not explicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't describe what 'Get' entails—e.g., whether it returns a list, paginates results, requires specific permissions, or has rate limits. For a read operation with zero annotation coverage, this lack of detail on behavior is a significant gap, though it doesn't contradict any annotations.

    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?

    The description is a single, efficient sentence that front-loads the core action and definition. Every word earns its place: 'Get' specifies the verb, 'all root entities' defines the resource, and the parenthetical clarifies the criteria. There's no redundancy or wasted text, making it highly concise and well-structured.

    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?

    Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It explains what the tool does but lacks details on behavior, output format, or usage context. For a read operation in a complex graph system with many siblings, more guidance would be helpful, though the minimalism is somewhat justified by the lack of parameters.

    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?

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose. This meets the baseline for zero parameters, as it doesn't add unnecessary detail beyond what the schema provides.

    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 clearly states the verb 'Get' and the resource 'root entities', with a specific definition of what constitutes a root entity ('entities without parents'). It distinguishes from siblings like 'get_parent', 'get_children', and 'get_ancestors' by focusing on entities lacking parents. However, it doesn't explicitly contrast with 'get_connected_components' or 'get_subtree', which might also involve root-like entities in different contexts.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as whether the graph must be loaded or indexed, or compare to tools like 'search_nodes' or 'list_saved_searches' that might retrieve entities differently. There's no explicit 'when-not' or alternative tool recommendation, leaving usage context implied at best.

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

  • Behavior2/5

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

    The description implies a write operation ('distill', 'persisted') but lacks detail on behavioral traits such as idempotency, destructiveness, required permissions, or error handling. With no annotations provided, the description carries the full burden, and it does not disclose whether existing data is overwritten or if there are limits on accumulation.

    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?

    The description is two sentences with no fluff. The first sentence captures the core action and the second adds important details about persistence and accumulation. Every sentence serves a purpose.

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

    Completeness2/5

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

    For a tool that ingests into a complex knowledge graph, the description is incomplete. It does not specify the return value (e.g., success confirmation, graph ID) nor any error conditions. Though the input schema is simple, the lack of output schema and missing behavioral context leaves the agent underinformed.

    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?

    The input schema has 100% coverage for its single parameter 'turns', with a brief description. The tool description adds no extra meaning beyond the schema; it does not explain how the fields (id, text, speaker, timestamp) are used in the distillation process. Baseline is appropriate.

    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?

    The description clearly states the tool's action: 'Distill raw dialogue turns into the Cue–Tag–Content associative memory graph' with specific details about multiple layers (episodic/semantic/topic). It distinguishes from sibling tools like generic 'ingest' or 'distill_failure' by focusing on dialogue and the specific graph structure.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool vs alternatives. While it mentions 'Multiple calls accumulate,' there is no advice on when not to use it or which sibling tools are better suited for different scenarios (e.g., batch ingestion vs. single-turn processing).

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

  • Behavior2/5

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

    No annotations exist, so the description must bear the burden. It does not disclose that this is a read-only operation, nor does it explain pagination, defaults, or response structure. Minimal behavioral context.

    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 description is short and to the point, but begins with an unnecessary version tag. Efficient but could be more informative without adding length.

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

    Completeness2/5

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

    Given 4 parameters and no output schema, the description fails to explain return values, pagination, or default behavior. It does not integrate with the sibling tool ecosystem.

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

    Parameters2/5

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

    The schema has 0% parameter description coverage. The description only lists the filter parameter names but adds no additional semantic meaning or usage details. The limit parameter is not mentioned at all.

    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?

    The description clearly states the tool lists decisions and specifies three optional filters (status, sourceSessionId, sourceProjectId). This distinguishes it from sibling tools like propose_decision or get_decision_chain.

    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?

    The description implies usage through optional filters but does not provide guidance on when to use this tool over alternatives like find_decisions_by_context or get_decision_chain. No exclusions or prerequisites mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Return every registered ExclusionRule,' implying a read-only operation but not confirming safety, side effects, or details like pagination or ordering.

    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 description is a single sentence, very concise. However, the prefix 'v2.1.0 —' could be removed as it is not essential for functionality.

    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 simple list-all tool with no parameters and no output schema, the description is adequate. It covers the core purpose without needing further detail.

    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?

    The input schema has zero parameters, so baseline score is 4. The description adds no extra parameter semantics but none are needed.

    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 clearly states the tool returns every registered ExclusionRule. It uses a specific verb and resource, but includes a version prefix ('v2.1.0') that is unnecessary. It is distinguishable from sibling tools like add_exclusion_rule, remove_exclusion_rule, etc.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or related tools, leaving the agent without context for selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. 'List all saved searches' implies a read-only operation but doesn't specify format, pagination, sorting, or error conditions. For a tool with zero annotation coverage, this minimal description leaves significant behavioral gaps.

    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?

    The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a simple list operation with no parameters.

    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 zero-parameter list tool with no output schema, the description is minimally adequate but could be more complete. It doesn't specify what information is returned about saved searches (names, IDs, metadata) or how results are structured, leaving some contextual gaps.

    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?

    The tool has zero parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately doesn't mention parameters, earning a high baseline score for not adding unnecessary information.

    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 clearly states the action ('List') and target resource ('all saved searches'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'execute_saved_search' or 'update_saved_search', which prevents a perfect score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'execute_saved_search' and 'save_search', there's no indication of whether this tool retrieves metadata, results, or something else, leaving usage context ambiguous.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. 'List all tag aliases' implies a read-only operation, but it doesn't specify aspects like pagination, sorting, rate limits, or what 'all' entails (e.g., if it returns a complete list or requires filtering). This leaves significant gaps for an agent to understand the tool's behavior.

    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?

    The description is a single, efficient sentence with no wasted words. It's front-loaded and directly states the tool's purpose, making it easy to parse and understand immediately.

    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 simple list tool with no parameters and no output schema, the description is minimally adequate. However, without annotations or output schema, it lacks details on return format (e.g., structure of aliases, pagination) and behavioral context, leaving room for improvement in guiding an agent effectively.

    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?

    The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter details, so it meets the baseline for a parameterless tool. No additional semantic information is required or provided.

    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 'List all tag aliases' clearly states the verb ('List') and resource ('tag aliases'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_aliases_for_tag' or 'resolve_tag', which might have overlapping functionality, so it doesn't reach the highest score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. Given sibling tools like 'get_aliases_for_tag' (which might fetch aliases for a specific tag) and 'resolve_tag' (which might handle tag resolution), there's no indication of context, prerequisites, or exclusions for this tool.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses that the tool automatically selects methods and returns reasoning, which adds value beyond basic search functionality. However, it lacks details on performance characteristics, error handling, or what 'best' means operationally.

    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 description is appropriately concise with two clear sentences. The first sentence states the core functionality, and the second describes the return value. There's no wasted text, though it could be slightly more structured for readability.

    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 search tool with no annotations and no output schema, the description is moderately complete. It explains the automatic selection behavior and return format but lacks details on search algorithms used, performance trade-offs, or error conditions that would help an agent use it effectively.

    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%, so the baseline is 3. The description doesn't add meaning beyond the schema's parameter documentation. It mentions 'query characteristics' but doesn't explain how the 'query' parameter influences method selection or what 'graph size' refers to in practice.

    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 clearly states the tool's purpose: 'Automatically select and execute the best search method based on query characteristics and graph size.' It specifies the verb ('select and execute') and resource ('search method'), though it doesn't explicitly differentiate from sibling search tools like 'boolean_search' or 'semantic_search'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternative search methods. It mentions 'based on query characteristics and graph size' but doesn't specify what characteristics trigger which methods or when to prefer this over direct search tools like 'fuzzy_search' or 'hybrid_search'.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits, but it only states the basic purpose. It does not mention side effects, scope restrictions, case sensitivity, or result format, leaving significant gaps.

    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?

    Single sentence of 13 words, front-loads the core purpose with no wasted or redundant information.

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

    Completeness2/5

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

    Lacks details on output format, pagination, error handling, and scope. For a search tool with no output schema, the description should provide more context about expected results and behavior.

    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%, and the description adds minimal value beyond examples (e.g., 'last week'). Baseline of 3 is appropriate since the schema already adequately documents parameters.

    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?

    The description clearly states 'Search entities using a natural language time expression' with specific examples ('last week', 'yesterday'). It distinguishes from sibling tools like 'search_by_date_range' which uses explicit date ranges, making its unique proposition clear.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternative search methods. The description does not mention prerequisites, limitations, or contrast with siblings like 'search_by_date_range' or 'semantic_search'.

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

  • Behavior2/5

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

    Without annotations, the description carries full burden. It only reveals that the tool adjusts weights and budgets but omits key behaviors such as persistence, side effects on other settings, required permissions, or reversibility. This is insufficient for safe invocation.

    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?

    The description is a single sentence of 23 words, front-loaded with the primary verb and object. Every word adds information with no redundancy or filler.

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

    Completeness2/5

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

    Given the tool's complexity (modifying agent configuration), the description is too minimal. It does not explain what salience weights or context budgets are, the meaning of each role, or whether the change is session-only or persistent. The agent lacks sufficient context to use it correctly.

    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?

    The schema fully covers the parameter (enum, 100% coverage). The description adds context by labeling roles as 'built-in' and linking to salience/budget effects. However, it lists 'coordinator' which is not in the enum (actual is 'default'), introducing potential confusion.

    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?

    The description clearly states the tool applies a built-in role profile and specifies the effect (adjust salience weights and context budgets). It uses a specific verb+resource pattern and distinguishes itself from siblings by focusing on application rather than listing or querying roles.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool over alternatives (e.g., list_role_profiles, update_profile). It does not mention prerequisites, when-not-to-use, or related tools, leaving the agent without decision context.

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

  • Behavior4/5

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

    Without annotations, the description carries full burden and does a good job disclosing behavior: merge semantics for arrays (append+dedup) and scalars (overwrite), and that there is one record per projectId. It misses potential side effects (e.g., triggering other processes) but is otherwise transparent.

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

    Conciseness3/5

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

    The description is two sentences but includes version info 'v2.1.0' which is irrelevant for an agent and wastes space. Otherwise, it is reasonably concise and front-loads the main purpose.

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

    Completeness2/5

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

    Given no output schema, no annotations, and complex nested parameters, the description is incomplete. It does not clarify that omitted fields are preserved during the merge, nor does it explain the optionality of array parameters. This leaves ambiguity for proper use.

    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 only 20%, but the description adds value by explaining how array fields (facts/conventions/commands/glossary) are handled. However, it does not elaborate on the structure of nested objects (commands, glossary) beyond what the schema provides, and it fails to mention that omitted fields remain unchanged.

    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 clearly states it merges structured project knowledge into a ProjectContextRecord for a projectId, specifying array append+dedup and scalar overwrite behavior. However, it does not explicitly differentiate from sibling tools like append_project_fact, which could confuse an agent about when to use this bulk operation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as append_project_fact or get_project_context. The description does not mention prerequisites, ideal scenarios, or exclusions, leaving the agent to infer usage from context.

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

  • Behavior3/5

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

    With no annotations, the description must fully disclose behavior. It mentions auto-create and dedup, which are positive. However, it omits details like side effects, error behavior, or required permissions. Lacks comprehensiveness.

    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?

    Single sentence with added context in parentheses. Highly concise, no wasted words, and front-loaded with the core action.

    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?

    Given the simplicity (2 params, no output schema), the description covers the core behavior but misses details like return value, parameter formats, and usage nuance. Adequate for a simple tool but not fully complete.

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

    Parameters2/5

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

    Schema description coverage is 0% and the description does not elaborate on the parameters. 'fact' and 'projectId' are named but not explained (e.g., fact format, projectId identifier type). Adds minimal value beyond the schema.

    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 clearly states the action (append), resource (fact to project context), and mentions key behaviors (auto-create, dedup). However, it does not explicitly distinguish from related tools like 'upsert_project_context' or 'append_project_convention'.

    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?

    No explicit guidelines on when to use this tool versus alternatives. The auto-create and dedup hints provide some context, but no when-not-to-use or prerequisites.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It only states 'query' without disclosing side effects, permissions, pagination, rate limits, or behavior beyond filters. The limit parameter (default 50) is not explained in description.

    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?

    The description is a single, front-loaded sentence that efficiently conveys purpose and filter criteria without extraneous words. It fits the tool name and context well.

    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?

    The description covers basic functionality and parameters but omits output format, ordering, and any constraints beyond limit. Given no output schema, additional details would improve completeness.

    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% with each parameter described. The description adds a summary of filter types but does not provide additional semantic meaning beyond what schema already offers, meeting baseline expectations.

    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?

    The description clearly states the tool queries the audit log with specific filter criteria (operation type, agent ID, entity name, date range). This verb+resource combination is precise and distinguishes it from siblings like audit_history.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., query_events, search_by_date_range). The description implies general audit log querying but lacks when-not-to-use or context-based recommendations.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full burden. It only states removal but does not disclose consequences, reversibility, permissions, or side effects. For a destructive operation, this is insufficient.

    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?

    Description is a single, clear sentence. No unnecessary words. Efficient and properly front-loaded.

    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?

    Given the tool's simplicity (1 param, no output schema), the description is minimally adequate. However, it lacks behavioral and usage context, so it is only baseline complete.

    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% (single param with schema description). The description adds 'stable alias (ref)' but does not provide additional meaning beyond the schema. Baseline score of 3 is appropriate.

    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?

    Description clearly states 'remove a stable alias (ref) from the RefIndex', specifying the verb and resource. It distinguishes from sibling tools like register_ref (adds), resolve_ref (looks up), and list_refs (lists), each with different actions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives, no prerequisites or context provided. The description only states the action without usage conditions.

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

  • Behavior2/5

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

    No annotations provided, and the description only states the high-level purpose. It does not disclose side effects (e.g., mutating state, persisting data), required permissions, or rate limits.

    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?

    Single concise sentence front-loads the key action and purpose, with no unnecessary words.

    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?

    Adequately covers purpose and parameters via schema, but lacks details on return format or output structure given no output schema. Could mention related tools or output expectations for completeness.

    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 covers 100% of parameters with clear descriptions. The tool description adds no extra meaning beyond what the schema already provides, achieving baseline.

    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?

    The description uses a specific verb ('distill') and resource ('lessons from a failed session'), and distinguishes from siblings like 'find_causes' by focusing on actionable insights after failure.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives like 'find_causes' or 'counterfactual_query'. No exclusions or prerequisites mentioned.

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

  • Behavior3/5

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

    No annotations exist, so the description carries the burden. It indicates substring matching behavior and the fields searched, but does not mention case sensitivity, result format, performance implications, or whether it is read-only. It conveys basic behavior adequately but lacks depth.

    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?

    Single sentence, no filler. The version number is minor but not detrimental. Every word contributes meaning, with no redundancy.

    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?

    Given the simplicity (one param, no output schema, no annotations), the description covers essential purpose and scope. However, the lack of output description (what does the tool return? list of decisions?) leaves a gap for agents needing to know how to use the result.

    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% for one parameter. The description adds context by naming the three fields searched, which supplements the generic 'Substring to search for' in the schema. However, it does not provide format or syntax details beyond that.

    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 clearly states it performs a substring search across three specific fields (context, decision, consequences), giving a precise verb and resource. It distinguishes from generic search tools like search_nodes by targeting decisions, but does not explicitly set it apart from other decision-related tools like get_decision or list_decisions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus the many sibling search tools (e.g., fuzzy_search, semantic_search, boolean_search). No exclusions, prerequisites, or context provided. The description merely states what it does, not when it is appropriate.

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

  • Behavior3/5

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

    Without annotations, the description carries the full burden. It discloses the algorithm and complexity (O(o²)), implying it is read-only from 'find'. But it doesn't explicitly state side effects, output format, or data requirements.

    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?

    The description is a single sentence with version, verb, resource, method, and trade-off. No wasted words.

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

    Completeness2/5

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

    Given the tool has 5 parameters, no output schema, and no annotations, the description is too minimal. It omits parameter details, expected output, and when to opt for this over the exact tier.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description does not mention any parameter names or meanings. The agent gets no help with the five optional parameters.

    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 clearly states it finds near-duplicate observation strings using token-Jaccard similarity and union-find grouping. It mentions an 'exact tier' implying a sibling, but does not explicitly name it, so purpose is very clear but not perfect.

    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?

    The description says it's 'more expensive than the exact tier' and 'opt-in for higher recall', giving clear conditions for use. However, it doesn't specify exact alternatives or when not to use.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states the output but does not disclose whether the tool modifies state, computational cost, or expected response format. Additional details about read-only behavior or side effects are missing.

    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?

    The description is a single concise sentence that is front-loaded with the main action and output. No unnecessary information.

    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 simple tool with one parameter and no output schema, the description is minimally complete—it states what the tool does and what it produces. However, it lacks context on performance, scope (e.g., archived entities), and potential implications for the agent.

    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% (one parameter 'threshold' fully described). The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

    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?

    The description clearly states the verb 'Generate', the resource 'freshness report', and the output 'fresh, stale, and expired counts'. It distinguishes from siblings like 'check_freshness', 'get_stale_entities', and 'get_expired_entities' by indicating an aggregate report across all entities.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool vs alternatives such as 'check_freshness' (per-entity) or 'get_stale_entities'. It does not mention exclusions or prerequisites.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full burden. It fails to disclose important behavioral details such as pagination, result limits, default ordering, or performance characteristics of listing all artifacts. The claim 'List all artifact entities' may be misleading if there is an implicit limit.

    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?

    A single, concise sentence of 13 words that is front-loaded with the verb and resource. No wasted words or repetition. Every word earns its place.

    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 simple list tool with three optional parameters and no output schema, the description is minimally adequate. However, it lacks details about response format, ordering, and pagination, which are important for completeness. Could be improved for better agent understanding.

    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%, so baseline is 3. The description simply summarizes the filtering options (tool name, type, date) but does not add additional meaning beyond what the schema already provides for each parameter.

    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?

    The description clearly states the verb 'list' and the resource 'artifact entities', and mentions optional filtering by tool name, type, or date. It distinguishes from sibling tools like get_artifact (single retrieval) by indicating it lists all artifacts, and filtering capabilities are indicated.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide any guidance on when to use this tool versus alternatives. No mention of when-not-to-use, prerequisites, or explicit comparisons to sibling tools like search_nodes or boolean_search.

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

  • Behavior2/5

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

    No annotations provided, so description must disclose behaviors. It reveals 'No-op on unknown callId' but omits other traits like idempotency, state changes, or whether multiple partials are allowed. Insufficient for full transparency.

    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?

    Very short and to the point. The version number 'v2.1.0' is minor noise, but overall no wasted words. Could be slightly improved by removing the version.

    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 simple tool with 2 parameters and low complexity, the description captures core purpose and one key behavior. However, it lacks details on the effect of recording (e.g., logging, state update) and the role of 'reason', making it minimally complete.

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

    Parameters2/5

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

    Schema has 0% description coverage and description adds no parameter explanations. 'callId' is hinted by the no-op note, but 'reason' is completely unexplained. Description fails to compensate for missing schema documentation.

    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?

    Description clearly states the tool records a partial result (usable but incomplete). Distinguishes from observation siblings like observe_tool_error and observe_tool_complete through its specific purpose and no-op behavior.

    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?

    No explicit when to use vs. alternatives. The description implies use for partial results, but doesn't contrast with error/complete/cancel tools. The no-op note provides a condition for when it applies, but lacks alternative guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description must cover behavioral traits. It only mentions that the tool creates a 'proposed' record with a default importance of 8. It does not disclose any side effects, authorization needs, rate limits, or whether the operation is destructive (though creation is typically non-destructive).

    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 description is concise (two sentences) and front-loaded with the version and purpose. The version number could be considered clutter, but overall it is efficient and clear.

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

    Completeness2/5

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

    Given the complexity (10 parameters, 2 required, no output schema) and the many sibling decision-related tools, the description is too minimal. It does not explain the creation workflow, how to link decisions via supersedes, or what the return value represents.

    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?

    With 80% schema description coverage, the baseline is 3. The description adds only the default importance value (already in schema) and the version number 'v2.1.0'. It does not clarify the meaning of the two undocumented parameters (sourceProjectId, sourceSessionId) beyond what the schema provides.

    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?

    The description clearly states the tool's purpose: 'Propose a new architecture-decision-record (ADR-equivalent). Creates a 'proposed' DecisionRecord.' This identifies the verb (propose/create), resource (ADR/DecisionRecord), and distinguishes it from siblings like accept_decision, reject_decision, etc., which modify existing records.

    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?

    The description implies usage for creating a new proposed decision but does not provide explicit guidance on when to use this tool versus alternatives (e.g., when to use propose_decision vs. accept_decision or find_decisions_by_context). No exclusions or prerequisites are mentioned.

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

  • Behavior3/5

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

    No annotations are provided. The description implies a read-only operation by stating 'List', but does not explicitly confirm idempotency or lack of side effects. It does disclose the 'active or all' filtering behavior, adding some transparency.

    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?

    The description is extremely concise with only essential information. It is front-loaded with the tool's purpose in a single sentence, containing no filler or redundant content.

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

    Completeness2/5

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

    Given no output schema and limited annotations, the description should provide more context about return format, permissions needed, or the meaning of 'active'. It fails to fully prepare an AI agent for correct usage beyond the basic purpose.

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

    Parameters2/5

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

    Schema coverage is 67% with agentId missing a description. The description only indirectly references agentId by saying 'for an agent'. The 'activeOnly' and 'now' parameters are described in the schema already, so the description adds little extra value. The missing agentId description is not compensated.

    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?

    The description clearly states the verb 'List', the resource 'role assignments', and the scope 'for an agent' with the option 'active or all'. It distinguishes from sibling tools like rbac_assign_role, rbac_revoke_role, and rbac_check_permission which perform different actions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide any guidance on when to use this tool, such as prerequisites or alternatives. No mention of when not to use it or how it differs from similar tools like list_role_profiles.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It reveals that the tool modifies executionCount and successRate via EWMA, which is useful behavioral context. However, it does not disclose potential side effects, authentication requirements, or whether the operation is reversible, leaving gaps in transparency.

    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?

    The description is a single sentence that is front-loaded with an identifier (3B.4) and conveys the core functionality without any wasted words. Every part is informative.

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

    Completeness2/5

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

    Given the complexity (4 parameters, no schema descriptions, no output schema, no annotations), the description is insufficient. It does not explain what the parameters do, what the return looks like, or how the tool fits into broader workflows. The description leaves the agent with significant unanswered questions.

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

    Parameters1/5

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

    The schema has 4 parameters with 0% coverage (no descriptions in the schema). The description does not explain any parameter meaning or usage. For example, it does not describe what 'id', 'succeeded', 'notes', or 'recordedAt' represent, nor how they should be provided. This is a significant gap.

    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?

    The description clearly states what the tool does: 'Apply caller feedback after a procedure execution. Increments executionCount and updates successRate via EWMA (α=0.2).' This specifies the verb (apply, increments, updates) and the resource (procedure feedback, executionCount, successRate), and it distinguishes itself from sibling tools by being specific to procedure refinement.

    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?

    The description implies usage 'after a procedure execution', providing some context, but it does not explicitly state when to use this tool versus alternatives, nor does it include exclusions or prerequisites. The guidance is implied but not explicit.

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

  • Behavior2/5

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

    Without annotations, the description must fully disclose behavioral traits. It reveals that the tool mutates the entity (updating timestamp and confidence) but omits details like whether the operation is reversible, required permissions, or potential side effects on related data.

    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?

    The description is a single, efficient sentence that immediately conveys the core purpose. Every word adds value, with no redundancy or filler.

    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?

    Given the tool's simplicity (1 parameter, no output schema, no annotations), the description adequately explains the action but lacks details on return values, error conditions, or impact on the knowledge graph, which would be helpful for an agent.

    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% and the parameter 'entityName' already has a clear description in the schema. The tool description adds no further semantic context beyond what the schema provides, meeting the baseline of 3.

    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?

    The description clearly states the verb 'reset' and the resource 'freshness for an entity', and details the specific actions: updating creation timestamp and resetting confidence to 1.0. This effectively distinguishes it from sibling tools like 'invalidate_entity' or 'wake_up'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives (e.g., 'check_freshness', 'get_stale_entities'). The description only states what it does, leaving the agent to infer context without any exclusionary or conditional advice.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the date range requirement, it doesn't describe what 'search' entails—whether it returns a list, paginated results, error conditions, or performance characteristics. For a search tool with zero annotation coverage, this leaves significant behavioral gaps about how the tool actually operates.

    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?

    The description is extremely concise—just two sentences that directly state the tool's purpose and a key parameter requirement. Every word earns its place with zero redundancy or fluff. It's front-loaded with the core functionality and follows with an important constraint.

    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?

    Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and a key parameter constraint but lacks details about return values, error handling, or how it differs from other search tools. Without annotations or output schema, the agent would need to infer much about the tool's behavior.

    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%, with all parameters clearly documented in the schema. The description adds minimal value beyond the schema by mentioning that filtering by entity type and tags is optional, but this is already implied by the schema's optional parameters. It doesn't provide additional context about parameter interactions or usage examples, so the baseline score of 3 is 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 description clearly states the tool searches entities within a date range with optional filtering by entity type and tags. It specifies the verb 'search' and resource 'entities' with scope 'within a date range', making the purpose clear. However, it doesn't differentiate from sibling search tools like 'search_nodes', 'search_auto', or 'boolean_search', which prevents a perfect score.

    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?

    The description provides some usage guidance by stating 'At least one of startDate or endDate should be provided', which helps the agent understand parameter requirements. However, it doesn't explicitly state when to use this tool versus alternative search tools like 'search_nodes' or 'boolean_search', nor does it mention any prerequisites or exclusions. The guidance is implied rather than explicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'background' and 'periodically' but fails to disclose side effects, idempotency, what happens if already running, or return behavior.

    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 description is a single, concise sentence that is front-loaded with the action and resource. It could be slightly expanded to include key behavioral info without losing conciseness.

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

    Completeness2/5

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

    With no output schema and no annotations, the description is incomplete. It does not clarify if the tool returns a confirmation, status, or is fire-and-forget, leaving the agent uncertain about the outcome.

    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% and parameters are described in the schema. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

    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?

    The description clearly states the action 'Start' the 'background consolidation scheduler' and its purpose of periodic deduplication and merging of memories. This distinguishes it from sibling tools like 'run_consolidation_now' (immediate run) and 'stop_consolidation'.

    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?

    The description implies usage when periodic consolidation is desired but lacks explicit guidance on when to use or not use, such as prerequisites or conditions like whether the scheduler is already running.

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

  • Behavior3/5

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

    With no annotations, the description bears full burden. It discloses possible return statuses including 'conflict' and 'vanished-mid-update', which are helpful. However, it does not mention side effects, required permissions, or whether the operation is destructive.

    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 description is concise with one main sentence and a list of return values. The inclusion of 'v2.1.0' is minor extraneous information.

    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 simple transition tool with one parameter and no output schema, the description covers the action and return values. However, it lacks prerequisite context like the decision must be in 'proposed' state for the transition to succeed.

    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% for the single parameter 'id', documented as 'DecisionId'. The description adds no additional meaning beyond the schema, so baseline 3 is 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 description clearly states the action (transition) and resource (proposed decision to accepted). The verb 'accept' distinguishes it from siblings like reject_decision or supersede_decision, but no explicit differentiation is given.

    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?

    The description implies when to use: when a proposed decision should be accepted. However, it does not specify prerequisites, conditions for not using, or alternatives.

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

  • Behavior3/5

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

    Without annotations, the description provides basic behavioral insight: it removes low-salience redundant memories until threshold is met. However, it omits details like whether memories are permanently deleted, the exact selection algorithm, or reversibility. This is adequate but not thorough.

    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?

    A single sentence that is front-loaded with the core purpose and mechanism. No extraneous words; every part contributes to understanding.

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

    Completeness2/5

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

    The description lacks information about return values, side effects, or whether the operation is destructive. For a tool with 3 parameters and no output schema, the description should cover more behavioral details (e.g., what happens to removed memories, final cognitive load).

    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% with descriptions for all parameters. The description adds some context via 'low-salience redundant memories' but does not significantly enhance understanding beyond the schema. Baseline score of 3 is appropriate.

    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?

    The description clearly states the tool adaptively reduces memories to lower cognitive load by removing low-salience redundant memories. Verb and resource are specific, and it distinguishes from siblings like 'forget_memory' or 'forget_weak_memories' through the adaptive and redundancy criteria.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool vs alternatives. The description does not contrast with similar tools (e.g., 'forget_memory', 'compress_context'), leaving the agent to infer usage context.

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

  • Behavior2/5

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

    No annotations are provided, and the description lacks behavioral details such as whether the tool modifies any state, requires permissions, or has side effects. It only states the calculation inputs (TTL and confidence) but not how they are used or if the tool is read-only.

    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?

    Single sentence, 16 words, no fluff. Every word adds value. No redundant information.

    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 simple single-parameter tool with no output schema, the description adequately explains the tool's purpose and what the score is based on. It mentions the score range (0–1). However, it could improve by clarifying the role of TTL and confidence more explicitly.

    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?

    The schema already describes the single parameter 'entityName' with high coverage (100%). The description adds context about using TTL and confidence in the calculation, but does not add new meaning to the parameter beyond what the schema provides.

    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?

    The description clearly states the tool calculates a freshness score (0–1) for a specific entity based on TTL and confidence. This is a specific verb+resource, and it distinguishes from siblings like 'get_stale_entities' or 'freshness_report' by focusing on a single entity's numeric score.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives such as 'freshness_report' or 'get_expired_entities'. The description does not mention prerequisites, when to avoid using it, or typical use cases.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'rule-based extraction' but does not detail limitations, required input quality, or the structure of extracted facts. This leaves significant behavioral ambiguity.

    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 description is a single, efficient sentence that conveys the core purpose. It is front-loaded and avoids redundancy, but could benefit from additional structuring (e.g., bullet points or examples) for clarity.

    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 simple tool with one parameter and no output schema, the description is minimally adequate. However, it lacks details on output format, error behavior, or typical use cases, which would enhance completeness.

    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% with one parameter ('text') described as 'Text to extract facts from'. The description adds context (observation text, rule-based) but does not compensate for the lack of deeper parameter semantics beyond the schema.

    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?

    The description uses a specific verb ('extract') and clearly identifies the resource ('structured facts from observation text'). It distinguishes itself from sibling tools like 'detect_patterns' and 'semantic_search' by specifying 'rule-based extraction'.

    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?

    The description implies usage for extracting facts from observation text, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., semantic extraction tools like 'semantic_search'). No 'when-not' or context for optimal use is given.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions 'causal chains' but does not specify what the output looks like, how chains are represented, whether the graph direction is respected, or any side effects. Important behavioral traits like computational cost or prerequisites for using the parameters are missing.

    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 description is highly concise: one sentence plus a counterpart reference. It front-loads the core purpose efficiently. However, it could be slightly expanded without becoming verbose to improve parameter understanding, but given its length, it earns a high score for conciseness.

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

    Completeness2/5

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

    Given the tool's complexity (finding causal chains in a graph), the description is too sparse. It lacks information on what defines a causal chain, how the graph is traversed, the role and default of maxDepth, and the return format. With no output schema and no annotations, the agent is left with insufficient context to invoke the tool effectively.

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

    Parameters2/5

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

    Schema description coverage is 0%, meaning the schema itself provides no parameter descriptions. The description mentions 'cause' and 'candidates' implicitly but does not explain their meaning or format. The 'maxDepth' parameter is not mentioned at all, leaving the agent to infer its purpose from context. This is insufficient for correct usage.

    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?

    The description clearly states the verb 'find', the resource 'causal chains', and the scope 'starting at the named cause and reaching any candidate effect'. It also distinguishes itself from the sibling tool 'find_causes' by noting it as the symmetric counterpart, making its purpose unambiguous.

    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?

    The description explicitly identifies the symmetric counterpart 'find_causes', giving the agent clear guidance on when to use this tool (to find effects from a cause) versus its alternative. It does not include explicit when-not-to-use conditions, but the contrast is sufficient for differentiation.

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

  • Behavior2/5

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

    No annotations are provided, so description carries full burden. It discloses the core formatting behavior but does not mention whether it modifies state, error conditions, or output format. This is insufficient for full transparency.

    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?

    Single sentence, no redundancy, directly communicates purpose.

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

    Completeness2/5

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

    Without an output schema, the description fails to explain the return value (type, structure). It also omits potential errors, token budget edge cases, and prerequisites. For a tool with 5 parameters, this is incomplete.

    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% with clear parameter descriptions. The tool description adds no additional semantic meaning beyond what the schema provides. Per rule, baseline is 3.

    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?

    The description clearly states the tool formats memories for LLM prompt consumption using salience-based token allocation. It distinguishes from sibling 'format_project_context_for_llm' by specifying it is for memories and uses salience scores.

    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?

    No explicit guidance on when to use vs alternatives. The purpose implies usage for formatting memories with a budget, but no when-not or alternatives are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool returns static and dynamic facts, implying a read operation, but does not disclose side effects, permission requirements, data freshness, or limitations on call frequency. More transparency is needed for a tool with no annotation support.

    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?

    Two sentences with no wasted words. The purpose and key details are front-loaded.

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

    Completeness2/5

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

    Given no output schema, the description should explain the return format better than 'static facts and dynamic facts'. The vague description, combined with many sibling tools, leaves the agent without enough information to understand the full scope and when to use this tool.

    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?

    The schema has one optional parameter 'projectId' with a description. The tool description adds that omitting it gives the global profile, which clarifies the default behavior beyond the schema. This adds value.

    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?

    The description clearly states the tool gets the user profile, specifies it returns static and dynamic facts, and mentions scoping by projectId. This distinguishes it from sibling tools like 'update_profile' and 'get_context_profile'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like 'update_profile', 'get_context_profile', or other query tools. The description only implies that including projectId scopes the profile, but does not explain when to use the global profile or the scoped one.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the behavioral burden. It indicates a read operation returning filtered entities, which is straightforward. However, it does not disclose potential costs, limits, or whether the tool modifies state. Given no side effects implied, a score of 3 is appropriate.

    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?

    The description is one sentence with no redundancy. Every word is necessary. It is extremely concise and front-loaded with the core action.

    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?

    The description explains what the tool returns and the condition. Given the tool has a simple input and no output schema, it is largely complete. However, it omits details like pagination, ordering, or a limit on returned entities, which could be helpful.

    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?

    The single parameter 'threshold' is fully described in the schema (type, range, default). The description adds no additional meaning beyond what the schema provides. With 100% schema coverage, baseline 3 is correct.

    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 clearly states the tool returns entities with a freshness score below a specified threshold. The verb 'Return' and resource 'entities' are explicit. However, it does not differentiate from sibling tools like 'get_expired_entities' or 'freshness_report'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives, such as when to prefer 'get_expired_entities' or 'check_freshness'. No when-not-to-use or exclusion criteria are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states 'Count of stored heuristics.' It does not disclose scope (global vs. scoped), permissions, performance, or side effects.

    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 description is very concise at one sentence, but it includes the version prefix 'v2.1.0' which adds no meaningful context. Still, it is not verbose.

    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 simple count tool with no parameters or output schema, the description is minimally adequate. However, it could specify the return type (e.g., integer) and whether the count is global or scoped to a project.

    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?

    No parameters exist; the schema coverage is 100% by default. The description adds no parameter information, but baseline is 4 for 0-parameter tools.

    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?

    The description clearly identifies the tool as returning a count of stored heuristics. It distinguishes from siblings like list_heuristics which provide detailed listings, making the purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. For example, it does not clarify when a count is preferred over listing or retrieving specific heuristics.

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

  • Behavior3/5

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

    No annotations are present, so the description carries the full burden. It mentions 'via the RefIndex' but does not disclose side effects, permissions, rate limits, or error behavior. For a simple read-only lookup, the description is partially adequate but lacks explicit safety guarantees.

    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?

    The description is a single, well-structured sentence that front-loads the action and key information. Every word earns its place; no redundancy or fluff.

    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?

    Given the tool's simplicity (one parameter, no output schema, no nested objects), the description covers the essential functionality. It states the input, output, and mechanism. However, it could mention return format or error handling for completeness.

    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% for the single parameter 'ref', so baseline is 3. The description adds 'stable alias' and the mechanism, providing some context beyond the schema's 'Alias string to resolve', but does not significantly enhance understanding of the parameter's format or constraints.

    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 clearly states the action ('resolve'), the input ('stable alias/ref'), and the output ('entity name'). It mentions the mechanism ('via the RefIndex'), which helps distinguish from similar tools like resolve_tag. However, it does not explicitly differentiate from list_refs or get_aliases_for_tag, but overall purpose is well-defined.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like resolve_tag or list_refs. It does not mention prerequisites, when not to use it, or expected context. The description implies it is for stable aliases but does not elaborate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions 'via delimiter detection' but does not disclose what delimiters are detected, whether the operation is destructive, what happens to the original input, or the format of the output chunks. Significant gaps remain.

    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?

    The description is two sentences, front-loaded, and contains no unnecessary words. Every sentence adds value.

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

    Completeness2/5

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

    No output schema exists, so the description should explain what the tool returns (e.g., list of chunks, structure). It does not mention output format, error conditions, or prerequisites like transcript format. For a preprocessing tool, this is incomplete.

    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% with one parameter 'text' described as 'Raw transcript text to split.' The tool description adds no new semantic meaning beyond the schema, so the baseline of 3 is appropriate.

    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?

    The description clearly states that the tool splits concatenated multi-session transcripts into per-session chunks via delimiter detection, and positions it as a preprocessing step before ingest. This specific verb-resource pair distinguishes it from sibling tools like ingest.

    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?

    The description says 'Preprocessing step before ingest,' which implies when to use it but does not provide explicit when-not-to-use or alternative tools. The guidance is minimal and implied.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It states the tool returns all relations (current and expired) sorted, which is useful, but it does not mention pagination, performance implications, or whether it is read-only. Adequate but not comprehensive.

    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?

    The description is three sentences, front-loaded with the core action, and contains no extraneous information. Every sentence adds value.

    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?

    Given the absence of an output schema, the description provides a reasonable overview of the return type (chronological relation history). However, it could be more explicit about what a relation object includes. Overall, it is sufficient for a simple read tool.

    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 the schema already describes both parameters. The description adds no additional meaning beyond what the parameter descriptions provide. Baseline score of 3 is 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 description clearly states the tool retrieves chronological relation history for an entity, returning all relations sorted by validFrom. However, it does not differentiate from the sibling tool 'entity_timeline', which appears to have a similar purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like entity_timeline, query_as_of, or search_by_time. The description implies usage for full history but lacks explicit context or exclusions.

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

  • Behavior3/5

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

    Discloses OCC behavior: auto-increment version, VersionConflictError, and last-write-wins fallback. However, with no annotations, the description carries full burden. It omits details like whether updates are atomic, what happens to unspecified fields, and what the return value is (no output schema). Some transparency but incomplete.

    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?

    Two sentences, efficient and front-loaded with purpose. The opening code 'η.5.5.c' is minor noise but does not degrade clarity significantly. Could be slightly more structured, but overall concise.

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

    Completeness2/5

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

    Missing critical context: no guidance on alternatives given the large sibling list, no mention of permissions or side effects, and no description of return value (no output schema). The complexity of the tool and the many siblings demand more completeness than provided.

    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%, baseline 3. The description adds extra context beyond the schema: explaining OCC modes and that version auto-increments. This helps the agent understand the parameter's significance beyond the schema 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?

    States 'Update an entity' which clearly identifies the verb and resource. The addition of 'with optional optimistic concurrency control' distinguishes it from a basic update. However, it does not explicitly compare to siblings like set_entity_parent or create_entities, so it loses a point for not fully differentiating.

    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?

    Explains when to use expectedVersion vs omit, which provides usage guidance for the optional parameter. But it does not address when to use this tool over alternatives such as set_entity_parent or delete_entities. The usage context is implied rather than explicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as whether the stop is immediate, safe to call anytime, or has side effects. The minimal information ('Stop') is insufficient for an agent to understand implications.

    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?

    The description is a single, well-structured sentence with no unnecessary words. It earns its place and is front-loaded with the key action.

    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 simple stop tool with no parameters or output schema, the description is adequate but lacks completeness. It does not mention what happens after stopping (e.g., if processes are killed, if it's reversible) or any safety considerations. Given the complexity of the sibling tools, more context would help.

    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?

    The input schema has zero parameters with 100% coverage, so the schema already conveys that no additional inputs are needed. The description does not add parameter-specific information, but with no parameters, baseline 4 is appropriate.

    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?

    The description explicitly states 'Stop the DreamEngine background process,' which is a specific verb+resource combination. It clearly distinguishes from sibling tools like dream_start (starts) and dream_run_now (runs immediately).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like dream_start, dream_run_now, or other process management tools. The description is purely declarative with no exclusions or context.

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

  • Behavior2/5

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

    No annotations provided, so description solely responsible. It discloses truncation with ellipsis when budgetChars is provided, but does not mention read-only behavior, side effects, or what happens when budgetChars is absent. Version string adds no behavioral info.

    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?

    Single sentence plus version tag, front-loaded with purpose and key behavior. No extraneous information. Highly efficient.

    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?

    Adequate for a simple formatting tool with only two parameters. Lacks details on return type (presumably a string), absence of output schema, and no mention of safety or side effects. Missing some behavioral context but covers the core use.

    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 50%: budgetChars has a description, projectId does not. Description adds context for projectId ('ProjectContextRecord') but does not elaborate on format or constraints beyond schema. Compensates partially but not fully for low coverage.

    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?

    Description uses specific verb 'Render' and resource 'ProjectContextRecord', states target audience ('wakeUp L0 layer or system prompt'), and mentions truncation behavior. Distinguishes from sibling 'format_with_salience_budget' by specifying the use case (wakeUp L0 layer).

    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?

    Implied usage: for formatting context as a prose summary with a character budget. However, no explicit when-to-use or when-not-to-use guidance versus alternatives like 'format_with_salience_budget' or other formatting tools. Lacks exclusion criteria.

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

  • Behavior2/5

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

    No annotations exist, so the description must bear the full burden. It only says 'Sync lookup', indicating a synchronous read, but does not disclose if it returns full detail, side effects, permissions, or error conditions. Essential behavioral traits are missing.

    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?

    The description is a single, concise sentence: 'v2.1.0 — Sync lookup by DecisionId.' Every word is necessary; there is no fluff. It is front-loaded and efficiently conveys the purpose.

    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?

    Given the tool's simplicity (one parameter, no output schema), the description is minimally complete. It explains what it does but lacks details about the return value. For a sync lookup, users might expect description of the result object, which is absent.

    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 the schema already documents the id parameter. The description adds no extra meaning beyond 'DecisionId', which is a repetition. Baseline 3 is appropriate as it doesn't enrich the schema.

    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?

    The description clearly states it's a sync lookup by DecisionId, specifying the verb 'lookup' and resource 'Decision'. This distinguishes it from sibling tools like list_decisions (list all) or find_decisions_by_context (search by context).

    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?

    The description implies usage when you have a specific DecisionId, but provides no explicit guidance on when not to use it or which alternative (e.g., list_decisions, find_decisions_by_context) to prefer. With many sibling tools, lacking usage distinctions is a gap.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It does not disclose side effects (should be read-only), auth requirements, rate limits, or what happens when the agent doesn't exist. Mentions visibility rules and trust levels but lacks behavioral depth.

    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?

    Single sentence, front-loaded with clear verb and resource, no redundant words. Every part earns its place.

    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?

    No output schema exists, but description still omits what is returned (full memory objects? IDs?), pagination, or ordering. It adequately defines purpose but lacks detail on return format and behavior given the complexity of memory retrieval.

    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% (one parameter with description). The description adds context about visibility rules and trust levels, but does not add meaning beyond the schema for the agentId parameter. Baseline 3 is appropriate.

    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?

    The description clearly states the action (Get), the resource (all memories), and the distinct constraint (visible to a specific agent based on visibility rules and trust levels). This distinguishes it from siblings like 'forget_memory' or 'search_by_date_range'.

    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?

    The description implies usage for checking which memories an agent can see based on visibility rules, but provides no when-not-to-use advice or alternatives. The context is clear but not explicitly guided.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behaviors. It states the effect (sets validUntil) but does not explain matching criteria (e.g., what if multiple active relations match?), confirmation, reversibility, or validation steps. This is insufficient 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?

    The description is three sentences: purpose, mechanism, and example. It is concise, front-loaded, and each sentence adds value without redundancy.

    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 mutation tool with no annotations or output schema, the description should cover more behavioral details. It covers the core concept and gives an example, but lacks prerequisites, edge cases, and differentiation from deletion. Adequate but not fully complete.

    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 the schema already documents parameters. The description adds the example and context of temporal invalidation, but does not significantly enhance understanding beyond the schema's basic descriptions. Baseline 3 is appropriate.

    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?

    The description clearly states the tool marks a relation as no longer valid by setting a validUntil timestamp. It provides a specific example ('Kai no longer works on Orion') and distinguishes from sibling tools like delete_relations by emphasizing temporal invalidation.

    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?

    The description says 'Use for temporal facts that have ended,' which implies the appropriate context, but does not explicitly state when not to use this tool or mention alternatives (e.g., delete_relations for permanent removal). The guidance is present but not exhaustive.

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

  • Behavior3/5

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

    Without annotations, description covers key behavior (no-op on unknown callId, duration computation) but omits side effects or state changes.

    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?

    Single sentence with version, purpose, and edge case; extremely concise and efficient.

    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?

    Sufficient for a simple completion logger; covers main action and no-op edge case, though could mention prerequisite observe_tool_start call.

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

    Parameters2/5

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

    Description adds no meaning for parameters beyond schema; schema already covers callId and result, but callId lacks description.

    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?

    Description clearly states it records successful completion and computes duration from observe_tool_start, distinguishing it from sibling error/partial/cancel tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like observe_tool_error or observe_tool_partial; usage is implied but not clarified.

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

  • Behavior3/5

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

    No annotations exist, so the description must fully disclose behavior. It details exact matching including undefined resourceType. However, it omits side effects, error handling, permissions, or whether a missing match results in error or silent success.

    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?

    The description is extremely concise—two short sentences. The first sentence states the action, and the second adds matching details. No superfluous text.

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

    Completeness2/5

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

    For a destructive mutation tool with no annotations or output schema, the description lacks critical details: return value, error behavior, authorization, and consequences. It is incomplete for safe invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, requiring the description to compensate. It only adds that matching is exact and includes undefined resourceType. Individual parameter meanings (agentId, role) are not explained beyond schema basics, leaving gaps.

    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?

    The description clearly states the tool removes a specific role assignment using a verb 'Remove' and specifies the resource ('role assignment'). It distinguishes from sibling tools like rbac_assign_role by focusing on revocation.

    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?

    The description explains matching criteria (agentId, role, resourceType) but does not explicitly state when to use or avoid this tool versus alternatives. No exclusions or contrast with siblings are provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the benefit (O(1) lookups) but does not disclose behavioral traits such as whether existing refs are overwritten, idempotency, error states, or authorization requirements.

    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?

    The description is a single concise sentence that conveys essential information without any unnecessary words or structure. It is front-loaded and efficient.

    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?

    Given no output schema and no annotations, the description is adequate but lacks details on return values, error handling, and behavior in edge cases (e.g., duplicate aliases). It covers the core action but leaves gaps for an agent's correct invocation.

    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 baseline is 3. The description does not add new meaning beyond the schema; the schema already describes each parameter adequately. No further elaboration is provided.

    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?

    The description clearly states the action ('register'), the resource ('stable alias (ref)'), and the purpose ('pointing to an entity name in the RefIndex for O(1) lookups'). It effectively distinguishes from sibling tools like 'resolve_ref' and 'deregister_ref'.

    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?

    The description implies the tool is used when you need to create a new mapping from an alias to an entity, but it does not explicitly provide guidance on when to use this tool versus alternatives (e.g., when an alias already exists) or any prerequisites.

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

  • Behavior3/5

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

    With no annotations, the description must fully disclose behavior. It mentions trust-weighted scoring and visibility filtering, adding some context, but lacks details on how these work, side effects, prerequisites, or response format.

    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 description is a single, concise sentence that front-loads the core purpose. It is efficient but lacks structural elements like bullet points or separation of key aspects.

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

    Completeness2/5

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

    Given no output schema, no annotations, and the tool's complexity (cross-agent search with scoring and filtering), the description is too brief. Missing crucial details like output format, scoring algorithm, visibility rules, and error handling.

    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% with basic descriptions. The tool description adds overall context ('trust-weighted scoring and visibility filtering') but does not enhance individual parameter meanings beyond what the schema provides, warranting the baseline score of 3.

    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?

    The description clearly specifies the action (Search), the resource (agent memories), and distinctive features (trust-weighted scoring and visibility filtering), differentiating it from many sibling search tools like fuzzy_search or boolean_search.

    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?

    The description implies usage for cross-agent search with trust and visibility, but does not explicitly state when to use this tool over alternatives or provide exclusion criteria, leaving the agent to infer context.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It states that a checkpoint snapshot is created, but fails to mention whether the operation is safe, what side effects (e.g., disk usage, memory) occur, or what happens if a checkpoint with the same name already exists. The description is too sparse for a mutation-like 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?

    The description is a single short sentence that is front-loaded and contains no redundant words. Every part of the sentence adds value.

    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?

    The tool has no output schema, so the description should ideally indicate what the tool returns (e.g., checkpoint ID or success indicator). This is missing. Additionally, the description does not mention any required preconditions or context, though the tool is simple. Given the low complexity, the description is adequate but not fully complete.

    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?

    Since schema description coverage is 100% and both parameters are well-described in the schema (sessionId as required, name as optional), the description does not add any new meaning beyond the schema. The baseline for high coverage is 3.

    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?

    The description uses a specific verb ('Create') and noun ('checkpoint snapshot of the current session state') and clearly distinguishes the tool from siblings like session_restore (restoring) and session_end (ending). The 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 Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage (to create checkpoints for later restore), but does not explicitly state when to use this tool versus alternatives like session_restore or when not to use it. No prerequisites or exclusions are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only mentions error conditions but does not describe side effects, reversibility, authorization needs, or impact on related entities.

    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?

    The description is a concise single sentence with error conditions appended. It front-loads the core action and avoids unnecessary words, making it efficient for an agent to parse.

    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?

    Given no output schema, no annotations, and moderate complexity (mutation with state constraints), the description provides basic purpose and error states but lacks usage context, prerequisites, and behavioral details. It is adequate but not fully complete.

    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% with clear parameter descriptions ('Decision being superseded', 'DecisionId of the replacement'). The tool description adds no additional semantic detail beyond the schema, meeting baseline but not exceeding.

    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?

    The description clearly states the action ('Mark an accepted decision as superseded by another'), the resource ('accepted decision'), and the effect ('superseded'). It also distinguishes itself from sibling tools like accept_decision and reject_decision by specifying the superseding operation.

    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?

    It provides error conditions (illegal-transition when target not accepted, not-found when missing) which imply when not to use, but lacks explicit guidance on when to use this tool over alternatives or required preconditions.

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

  • Behavior2/5

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

    With no annotations provided, the description must disclose behavioral traits. It describes the algorithm but does not state whether this is a read-only operation, whether it modifies the graph, or any auth/rate limit considerations. Return format is also unspecified, which is a significant gap for a tool with no output schema.

    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?

    The description is a single 18-word sentence that is efficient and to the point. Every word adds value, and there is no fluff or repetition. The structure is appropriate for the complexity, front-loading the key action.

    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?

    Given the complexity of graph traversal and cross-agent merging, the description captures the core idea but lacks details about output, error conditions, or behavior under edge cases. Without an output schema, the agent receives no information about what the tool returns, reducing completeness.

    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 the baseline is 3. The description adds context about merging 'high-salience neighbors' which connects to salience-related parameters, but does not explain individual parameters beyond what the schema already provides. No additional semantics are introduced.

    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?

    The description clearly states the tool's purpose: it synthesizes context by traversing the graph neighborhood from a seed entity and merging high-salience neighbors across agents. The verb 'synthesize' and resource 'context' are specific, and the method distinguishes it from many sibling tools that perform simpler graph operations.

    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?

    The description implies usage for cross-agent context synthesis, but it does not explicitly state when to use this tool versus alternatives like get_neighbors or search cross-agent tools. No when-not-to-use or prerequisite conditions are provided, leaving the agent to infer applicability.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden. It only states the add operation and fact types, but fails to disclose side effects, required permissions, reversibility, or what happens to existing facts. This is insufficient for a write operation.

    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?

    Two sentences, front-loaded with action, no wasted words. Efficiently communicates the core purpose and the key distinction between fact types.

    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?

    Given no output schema and 3 parameters, the description lacks information about return values, whether facts append or overwrite, and relationship to sibling tools like 'add_observations'. Could be more complete for a write operation.

    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 baseline is 3. The description adds no extra meaning beyond the schema: it re-iterates the enum values for 'type' but does not explain 'content' or 'projectId' further. No added semantic value.

    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?

    The description clearly states the action 'Add a fact to the user profile' and distinguishes between static and dynamic facts, making the purpose unambiguous. It differentiates from siblings like 'get_profile' (read) and 'extract_facts' (extraction).

    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?

    The description provides guidance on when to use static vs dynamic facts, but does not explicitly state when to use this tool over alternatives (e.g., when not to use it, or mention of prerequisites). Implied usage but lacks explicit exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It implies a read-only operation by stating 'Get the full audit history', but does not disclose potential side effects, permission requirements, pagination, or whether the history is limited by time range or scope. It is accurate but minimal.

    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?

    The description is a single sentence that immediately conveys the core purpose and ordering. Every word adds value, and there is no extraneous information.

    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 simple retrieval tool with one parameter and no output schema, the description adequately covers what the tool does. It could mention that the output is a list of audit entries, but the phrase 'full audit history' implies the return type. Given the context, it is largely complete.

    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?

    The only parameter, 'entityName', is described in the schema with 'Name of the entity to retrieve audit history for'. The tool description adds no additional meaning beyond that, and schema documentation coverage is 100%, so the baseline of 3 is appropriate.

    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?

    The description clearly states the tool retrieves the 'full audit history' for a 'specific entity' in 'chronological order', using a specific verb ('Get') and resource ('audit history'). This distinguishes it from siblings like 'get_entity_versions' or 'entity_timeline' which may cover version history or timeline snapshots.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives like 'audit_query', 'entity_as_of', or 'get_entity_versions'. The description does not mention prerequisites, limitations, or cases where other tools would be more appropriate, leaving the agent to infer usage context.

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

  • Behavior2/5

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

    The description does not disclose behavioral details beyond the action. There are no annotations, so the agent is left unaware of potential side effects, reversibility, required permissions, or whether the operation is destructive.

    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?

    A single sentence that is concise and front-loaded with the version and action. Every word is necessary and there is no superfluous content.

    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 simple tool with no parameters, the description adequately explains what it does. However, it could mention the return value or confirm the operation's effect, but it is not incomplete given the low complexity.

    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?

    The tool has zero parameters and schema coverage is trivially 100%. The description adds no parameter information because none is needed, meeting the baseline expectation for a parameterless tool.

    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?

    The description clearly states the action ('Drop') and the resource ('every heuristic across all entities of type heuristic'). It distinguishes itself from sibling tools like 'remove_heuristic' by specifying bulk deletion of all heuristics.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'remove_heuristic' for deleting individual heuristics. The agent must infer the use case without explicit direction.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden. It explicitly states the tool is pure and does not mutate the graph, which is critical behavioral transparency. It also explains the semantics of the returned chains. However, it does not disclose error behavior, performance implications, or prerequisites for the graph state.

    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 description is concise, containing one sentence with an embedded example. It is front-loaded with the key question. However, the '3B.6' prefix is somewhat odd and unnecessary, slightly detracting from structure. Overall it is efficient but not perfectly structured.

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

    Completeness2/5

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

    Given 5 parameters (4 required) and no output schema, the description is too brief. It does not explain the return format (are chains lists of node IDs?), nor does it detail the maxDepth parameter's effect. The example provides context but leaves significant gaps for an agent to correctly invoke the tool.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It only mentions parameter names in an example but provides no formal definitions or constraints beyond what the names imply. The maxDepth parameter is not explained. The description adds minimal value for understanding individual parameters.

    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?

    The description clearly states the tool's purpose: it performs a counterfactual query to check reachability after removing an edge. It uses specific verbs ('returns chains') and identifies the resource (graph reachability), distinguishing it from sibling tools that mutate the graph or are purely navigational.

    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?

    The description provides a concrete example ('What if we remove edge...?') implying when to use this tool, but it does not explicitly state when NOT to use it or suggest alternatives. An agent can infer usage from the example, but explicit guidelines are missing.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry behavioral disclosure. It states the entry is timestamped and persistent per agent, but does not explain whether entries are appended or overwritten, required permissions, or any side effects. This leaves ambiguity about the tool's behavior.

    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?

    The description is two sentences, front-loading the core purpose in the first sentence and providing context in the second. Every sentence adds value without redundancy.

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

    Completeness2/5

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

    The description lacks output details; no output schema exists and the description does not mention what the tool returns (e.g., success confirmation, entry ID). For a write tool, additional behavioral context (e.g., whether it appends or replaces) would improve completeness.

    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% and clearly describes parameters (entry, topic, agentId). The description adds no additional meaning beyond the schema, which is adequate for a baseline score of 3.

    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?

    The description clearly states 'Write a timestamped diary entry' with a specific resource (diary-{agentId}) and lists example use cases (code review findings, architecture decisions, ops incidents). This distinguishes it from siblings like diary_read.

    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?

    The description provides context for use ('Use for code review findings...') but does not explicitly state when not to use or name alternatives. The listed examples make the purpose clear, and the sibling diary_read implies the complementary read operation.

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

  • Behavior4/5

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

    Discloses behaviors like optional brotli compression, auto-enabling for small files, streaming for large graphs, and PII redaction. Covers version notes for formats. No annotations provided, so description carries full burden.

    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?

    Two sentences front-loading key functionality. The second sentence adds version info which may be extraneous but does not detract significantly.

    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?

    Lacks description of output format or return value (no output schema). Does not mention the filter parameter. For a complex tool with 7 params, more detail on usage is needed.

    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% with detailed parameter descriptions. The tool description adds high-level context about compression and streaming but does not significantly extend schema semantics.

    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?

    The description clearly states the tool exports a knowledge graph in various formats, listing specific W3C Linked Data formats. It uses a specific verb ('Export') and resource ('knowledge graph'), and distinguishes from sibling tools like import_graph.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives (e.g., read_graph). No mention of prerequisites or context where export is appropriate.

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

  • Behavior3/5

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

    No annotations provided, so the description carries full burden. It implies a read-only data collection operation, but does not explicitly state non-destructiveness, authorization needs, or performance impact. Adequate but lacks explicit behavioral traits.

    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?

    Single sentence, front-loaded with key information. The version number prefix ('v12.5.0 —') is minor clutter but does not significantly detract. Could be more concise by removing version.

    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?

    Given no output schema, the description lists the metrics returned, which is helpful. However, it lacks the output structure (e.g., JSON format, key names), which may be needed for the agent to parse results. Adequate but 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?

    No parameters exist, so schema coverage is 100% trivially. Baseline score of 4 applies. The description adds context on what output to expect, which is helpful.

    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?

    The description clearly states the tool returns graph and storage footprint metrics, listing specific counts (entity, relation, observation) and sizes (on-disk byte size, JSONL line count). It distinguishes from siblings like get_graph_stats by specifying the exact metrics provided.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives (e.g., get_graph_stats, validate_graph). The description does not mention prerequisites, context, or when not to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It indicates a read operation (list) but does not explicitly state that it is safe/non-mutative, nor does it mention pagination, sorting, or return details. Basic disclosure but insufficient for full transparency.

    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?

    The description is a single, front-loaded sentence that efficiently conveys the tool's purpose without superfluous words. Every part earns its place.

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

    Completeness2/5

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

    The tool has no output schema, so the description should hint at the return format (e.g., list of ref names/IDs). It does not, leaving the agent uncertain about what the response contains. Incomplete for a listing tool.

    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% for the single parameter. The description adds no extra meaning beyond what the schema already states: 'Optional: filter refs by entity name'. Baseline score is appropriate.

    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?

    The description clearly states the verb (list), resource (registered refs in RefIndex), and optional filtering by entity name. It distinguishes from sibling tools like register_ref or resolve_ref which are not listing operations.

    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?

    The description implies that the tool is used to view refs, but it provides no explicit guidance on when to use versus alternatives, no exclusions, and no prerequisites. It only mentions optional filtering.

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

  • Behavior2/5

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

    Without annotations, the description carries the full burden. It states it runs decay and returns counts, but does not disclose side effects (e.g., whether it modifies state permanently, whether it is idempotent, requires specific permissions, or blocks other operations). This is insufficient 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?

    Two sentences, front-loaded with the verb and resource, no fluff. Every sentence adds value: first sentence states action and scope, second sentence describes return value.

    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?

    Given no parameters and no output schema, the description is complete enough: it defines the action, scope, and return value. The explanation of what it returns ('count of decayed and forgotten memories') compensates for missing output schema. Could be slightly improved by noting that it's a single pass and that forgotten memories are permanently removed.

    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?

    There are no parameters, so the description adds meaning by explaining the tool's behavior and scope ('across all agent memories'). This goes beyond the empty input schema, providing clarity on what the tool operates on.

    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?

    The description clearly states the verb 'run' and the resource 'single pass of time-based importance decay across all agent memories'. It distinguishes from siblings like forget_weak_memories (which forgets specific weak memories) and get_decayed_memories (which lists decayed memories) by specifying a single pass across all memories and returning counts.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives. It does not mention when decay should be triggered, prerequisites (e.g., unidle state), or scenarios where other memory management tools like reinforce_memory or forget_weak_memories are more appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It only states the high-level purpose without detailing side effects (e.g., whether observations are modified or deleted), authorization needs, or return format. This is insufficient for a tool that likely mutates data.

    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?

    The description consists of two concise sentences that immediately convey the tool's purpose and differentiate it from a sibling. No extraneous words or redundant information, making it highly efficient for an AI agent.

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

    Completeness2/5

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

    For a tool that likely modifies entity observations, the description lacks essential details: the output (e.g., confirmation, new summary observation), process (in-place modification vs. creation), and handling of redundant observations. Without this, an agent might misuse or misunderstand outcomes.

    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 parameters are already documented. The description does not add extra meaning beyond the schema's definitions for 'entityName' and 'threshold'. Baseline score of 3 applies because no additional value is contributed.

    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?

    The description clearly states the tool auto-summarizes redundant observations within a single entity, using a specific verb and resource. It also distinguishes from the sibling tool 'compress_graph' by explicitly noting the difference in scope (within one entity vs. merging similar entities).

    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?

    The description provides clear guidance by contrasting with 'compress_graph', indicating when to use this tool (within a single entity) versus when to use the sibling (merging entities). It lacks explicit when-not conditions or alternative tools, but the comparison is sufficient for an effective guideline.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the destructive nature ('hard-deletes') and blocking behavior, but lacks details on reversibility, permission requirements, or what happens on conflicts. The description provides adequate but not thorough transparency.

    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?

    The description is extremely concise—two sentences. It front-loads the key information (version, action, effect) and avoids any filler. Every sentence earns its place, making it efficient for an agent to parse quickly.

    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?

    Given the tool complexity (4 parameters, no annotations, no output schema), the description covers the core purpose and effects. However, it lacks information about return values, error handling, or confirmation, leaving gaps in understanding the full interaction. Adequate but not comprehensive.

    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?

    The input schema already describes all four parameters with clear descriptions (100% coverage). The description does not add new insights beyond the schema; it references 'scope' and 'pattern' implicitly but does not clarify format, defaults, or behavior beyond what the schema states. Baseline score applies.

    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?

    The description clearly states the action ('Add'), the resource ('content-pattern exclusion rule'), and the effects ('Hard-deletes existing matches' and 'write-blocks future ones'). It also includes version context and differentiates from the v1 behavior, making the purpose very specific and distinguishable from siblings.

    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?

    The description implies the tool is for adding exclusion rules and mentions the scope of effect (past/future), but it does not explicitly state when to use this tool versus alternatives like 'check_exclusion' or 'remove_exclusion_rule'. No guidance on prerequisites or when not to use is provided.

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

  • Behavior3/5

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

    No annotations provided, so the description carries the burden. It discloses auto-generation of id when omitted and mentions optional fallback chains, but does not cover permissions, destructiveness, or side effects of creating procedural memory.

    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?

    The description is concise with three sentences, front-loading the purpose and key behaviors without fluff or redundant information.

    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 creation tool with nested structure, the description covers main aspects like ordering and fallback. However, it does not mention the return value or confirmation, and could better differentiate from related procedure tools.

    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?

    With 80% schema coverage, the description adds value by explaining that steps are 1-indexed and have optional fallback chains, and that id is auto-generated if omitted, providing context beyond the schema.

    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 clearly states the verb 'persist' and resource 'procedural memory', and distinguishes from semantic facts and episodic events. However, it does not differentiate from sibling procedure tools like refine_procedure or get_procedure.

    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?

    The description implies when to use this tool (for procedural memory) by contrasting with semantic facts and episodic events, but lacks explicit guidance on when not to use or alternatives like refine_procedure.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the tool is 'useful for understanding query structure.' It doesn't disclose behavioral traits like whether this is a read-only operation, computational cost, rate limits, authentication needs, or what format the analysis returns. For a tool with no annotation coverage, this leaves significant gaps.

    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?

    The description is perfectly concise with two sentences that each earn their place. The first sentence states the core functionality, and the second provides usage context. No wasted words or redundant information.

    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?

    Given the tool's moderate complexity (analyzing queries for multiple aspects), no annotations, and no output schema, the description is adequate but incomplete. It explains what the tool does but lacks details about the analysis format, limitations, or behavioral characteristics that would help an agent use it effectively.

    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%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does all the parameter documentation work.

    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?

    The description clearly states the tool's purpose with specific verbs ('analyze', 'extract') and resources ('search query'), listing concrete outputs (entities, temporal references, question type, complexity). It distinguishes from sibling tools by focusing on query analysis rather than search execution or data manipulation.

    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?

    The description provides clear context for when to use this tool ('before searching'), which implicitly distinguishes it from actual search tools in the sibling list. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the many search-related siblings.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses the soft-delete behavior and effect on listings/relevance, but does not mention reversibility, permission requirements, or side effects. Partial transparency, missing details on whether the operation can be undone.

    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?

    A single concise sentence of 15 words, front-loaded with the action and immediately followed by the effect and clarification of soft delete. No redundant or unnecessary words.

    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?

    The description covers the primary purpose and effect for a simple one-parameter tool with no output schema. However, it lacks information about the return value (confirmation or details) and does not clarify whether the operation is reversible, leaving some context gaps.

    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% with a clear parameter description. The tool description adds 'by id' which is redundant with the schema. No additional semantic value beyond what the schema already provides.

    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?

    The description clearly states the action (archive), resource (reflection by id), and effect (soft delete, hidden from listings/relevance). It distinguishes from sibling tools like archive_entities (general entities) and forget_memory (memories), making the purpose unambiguous.

    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?

    The description implies the tool is used for soft-deleting reflections to hide them from default views, but it does not explicitly compare with alternatives (e.g., delete_entities, archive_entities) or state when not to use it. No exclusion criteria or alternative guidance is provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It states it runs a cycle and returns results, which is moderately transparent. However, it does not mention side effects, blocking nature, performance impact, or prerequisites, leaving some behavioral aspects unclear.

    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?

    The description is two concise sentences. The first sentence states the action and immediacy, the second describes the return value. No unnecessary words.

    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?

    Given the tool's simplicity (one parameter, no output schema), the description is adequate but incomplete. It mentions 'detailed per-phase results' but does not specify output format or structure. Since there is no output schema, the description could have been more informative about the return.

    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?

    The input schema has 100% coverage with descriptions for each boolean property. The tool description adds minimal value beyond the schema, only hinting at 'per-phase' control. Baseline 3 is appropriate since the schema is already well-documented.

    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?

    The description clearly states the action ('Run a single dream cycle immediately') and the resource ('dream cycle'), and mentions the return value ('Returns detailed per-phase results'). This distinguishes it from siblings like dream_start, which likely starts a long-running cycle.

    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?

    The description implies usage (run one cycle immediately) but does not explicitly state when to use this tool over alternatives such as dream_start, run_consolidation_now, or other cycle-related siblings. No when-not-to-use guidance is provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It mentions the 8 phases and configurable interval but omits side effects like performance impact, state changes, or what happens if already running. Limited behavioral context.

    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?

    Two sentences with no wasted words. Efficiently conveys purpose and key parameters without redundancy.

    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?

    Given the complexity (8 phases, nested object, no output schema), the description covers the main intent but lacks details on return value, error handling, or behavior on multiple calls. Acceptable but could be more complete.

    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 parameters are fully documented. The description adds no extra meaning beyond listing phase names. Baseline score applies as description does not enhance parameter understanding.

    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?

    Clearly states the tool starts the DreamEngine background memory maintenance and lists all 8 phases. Differentiates from siblings like dream_stop and dream_run_now by specifying it runs on a configurable interval.

    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?

    Lacks explicit guidance on when to use this tool versus alternatives like dream_run_now for immediate execution. The description implies periodic use but does not state prerequisites or conditions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It mentions the conditional distillation but does not explain whether ending a session is irreversible, what happens to session data, or any permissions required. This is insufficient 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?

    A single sentence that is clear and front-loaded, specifying both the core action and a key conditional behavior without extraneous words.

    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?

    The description omits return values, prerequisites (e.g., session must be active), and potential side effects. For a tool that ends a session, these are important but not covered.

    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% and the description adds value by linking the outcome parameter to failure distillation behavior, providing context beyond the schema definitions.

    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?

    The description clearly states the action (end a session) and a key behavioral detail (trigger failure distillation on failure). It distinguishes itself from session-related siblings like session_start, session_checkpoint, etc.

    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?

    The description implies usage when ending a session, particularly with failure outcomes. However, it does not explicitly state when to use this tool versus alternatives like session_checkpoint or session_restore, nor does it mention prerequisites like an active session.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions predicting per-method performance but does not describe side effects, permissions, or whether the tool is read-only. The output format is also not described.

    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?

    The description consists of two concise sentences. The first states the core purpose, and the second adds a clarifying distinction. No unnecessary words or repetition.

    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?

    Given the tool has a single simple parameter and no output schema, the description is moderately complete. It explains the tool's function but lacks details about the output (e.g., list of methods with costs) and any behavioral context (e.g., read-only).

    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?

    The only parameter 'query' is described in the schema as 'Search query to estimate cost for', and the description adds no further meaning beyond that. With 100% schema coverage, the baseline score of 3 is appropriate.

    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?

    The description clearly states the tool's purpose: estimating execution cost (time, tokens) for all available search methods on a given query. It also distinguishes itself from the sibling tool 'analyze_query' by explaining the difference (predicts per-method performance vs. extracts entities/complexity).

    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?

    The description provides a clear usage context by contrasting with 'analyze_query', indicating when to use this tool instead. However, it does not explicitly state when not to use it or mention other alternatives beyond that one sibling.

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

  • Behavior3/5

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

    No annotations exist, so the description carries the full burden. It indicates the output format but does not disclose potential failure modes (e.g., missing decision), side effects (none, but unstated), or any permissions needed. Basic, but incomplete for safety.

    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 description is one sentence and to the point, but includes 'v2.1.0 —' which is unnecessary noise. Still, it is efficient and front-loads the core information.

    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?

    Given the tool's simplicity (one parameter, no output schema), the description covers the main purpose and output format. Missing details about return type or error handling, but adequate for most use cases.

    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?

    The input schema already describes the single parameter 'id' with 100% coverage. The description adds no additional meaning beyond what is in the schema, so baseline 3 is appropriate.

    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?

    The description clearly states the tool renders a stored decision as ADR-format markdown, specifying the structure (# title, Status, Context, etc.). It distinguishes from sibling tools like 'get_decision' (raw data) and 'parse_adr_markdown' (reverse operation), making the purpose unambiguous.

    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?

    The description implies use when a formatted markdown output is needed, but it does not explicitly compare to alternatives like 'get_decision' or mention when not to use this tool. No exclusion criteria or prerequisites are provided.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It explains version superseding behavior but does not disclose potential side effects, authentication requirements, rate limits, or return format. The description is adequate but not comprehensive.

    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?

    Two sentences, no wasted words, front-loaded with the main action. Efficient and clear.

    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?

    Given no output schema, the description does not explain return values or structure. While the tool is simple, completeness could be improved by indicating what is returned (e.g., entity ID, version number). Adequate but not fully complete.

    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?

    The schema has 100% coverage with a clear description for 'entityName'. The tool description does not add additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

    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?

    The description clearly states the tool retrieves the latest version of an entity, and explicitly handles superseded versions via contradiction detection. It distinguishes from siblings like 'get_version_chain' and 'entity_as_of' by focusing on 'latest' version.

    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?

    The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. It implies usage for obtaining the latest version, but lacks contextual framing compared to siblings.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the two operational modes (fetch at order or next step) but does not clarify read-only vs destructive, error behavior (e.g., step not found), or any side effects. Some transparency but incomplete.

    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?

    The description is a single sentence, front-loaded with the key action, and contains no unnecessary words. It efficiently communicates the core functionality.

    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?

    The tool is simple (3 params, no output schema), but the description lacks return value information and error handling details. The term 'currentOrder' is unclear (likely refers to the 'order' parameter). Adequate but could be improved.

    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 67% (order and next have descriptions; id does not). The description adds the phrase 'relative to currentOrder' which ties to the 'next' parameter, but doesn't explain id or add significant meaning beyond the schema. Baseline 3 is appropriate.

    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?

    The description clearly states the tool loads a specific procedure step by 1-indexed order or gets the next step relative to currentOrder. It uses specific verbs ('load') and resources ('step from a procedure'), and the dual behavior distinguishes it from siblings like get_procedure.

    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?

    The description implies when to use the tool (loading a step or getting the next step), but it does not provide explicit guidance on when not to use it or contrast with alternatives like match_procedure or refine_procedure. No exclusions or usage contexts are given.

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

  • Behavior3/5

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

    No annotations provided, so description carries full transparency burden. It discloses the two modes and version number, but does not mention any side effects, permissions, rate limits, or output format. Basic behavior is covered, but deeper traits missing.

    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?

    Two sentences, no wasted words. Front-loaded with version and core purpose. Efficiently explains both modes and use case. Highly concise.

    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?

    No output schema exists, so description should explain return format. It does not describe the nested JSON structure or error cases. For a simple read tool, it's adequate but not complete. Sibling tools likely share similar output, but agent still needs clarity on what 'nested JSON' means.

    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% for the single parameter 'root'. Description adds meaning by stating 'returns just that subtree' vs 'returns all root entities', which aligns with the schema. Baseline 3 is appropriate as description adds marginal context beyond schema.

    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?

    Description clearly states the tool returns a hierarchy tree as nested JSON, with two distinct modes (with root returns subtree, without returns all root entities). Uses specific verb 'returns' and resource 'hierarchy tree'. Distinguishes itself from siblings like get_children, get_descendants, get_subtree by focusing on nested JSON output.

    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?

    States 'Useful for visualising parent/child structure' which implies when to use, but does not explicitly exclude alternatives or provide when-not-to-use guidance. With many sibling tree-related tools, more precise context would help an agent select correctly.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'Requires embedding provider,' which adds context about dependencies. However, it lacks details on side effects (e.g., whether indexing is incremental or full), performance implications, error handling, or what 'enable semantic search' entails operationally. The description is basic but doesn't contradict any annotations.

    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?

    The description is very concise and front-loaded: two sentences that directly state the purpose and usage without any fluff. Every sentence earns its place by providing essential information, making it efficient and easy to parse.

    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?

    Given the tool's moderate complexity (indexing operation with one parameter) and no annotations or output schema, the description is minimally adequate. It covers the basic purpose and usage but lacks details on behavioral traits, error cases, or what happens after indexing. For a tool that enables a critical feature like semantic search, more context on outcomes or limitations would be beneficial.

    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?

    The input schema has 1 parameter with 100% description coverage, so the schema fully documents 'forceReindex.' The description doesn't add any parameter-specific information beyond what's in the schema. According to the rules, with high schema coverage (>80%), the baseline score is 3, as the description doesn't need to compensate but also doesn't enhance parameter understanding.

    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 clearly states the tool's purpose: 'Index all entities for semantic search.' It specifies the verb ('index') and resource ('entities'), and distinguishes it from semantic search tools like 'semantic_search' by focusing on indexing. However, it doesn't explicitly differentiate from other indexing-related tools like 'compress_graph' or 'normalize_observations', which might be considered preparatory steps.

    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?

    The description provides clear context for when to use this tool: 'Call this after adding entities to enable semantic search.' This implies a sequence of operations and a prerequisite (adding entities). However, it doesn't specify when NOT to use it or explicitly name alternatives, such as whether to use it versus other indexing or search tools in the sibling list.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses side effects (creates observationMeta), error conditions (throws if not found), but omits authorization needs, reversibility, or what happens to related data. Partial disclosure.

    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?

    Two sentences with zero waste. The prefix 'η.4.4' is optional but harmless. Front-loaded with key action and critical behaviors.

    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 3-param mutation tool with no output schema and no annotations, the description covers main behaviors (throws, creates meta) but lacks return value, prerequisites, or explanation of what observationMeta is. Adequate but incomplete.

    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 parameters are already well-documented. The description adds no extra semantic value beyond the schema for individual parameters, but it does explain the overall interaction (meta creation, throw). Baseline 3.

    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?

    The description clearly states the action ('Mark a specific observation as no longer valid'), the resource ('observation on an entity'), and includes unique details like creating a parallel observationMeta entry and throwing on missing observation. It distinguishes from sibling tools like 'delete_observations'.

    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?

    No explicit when-to-use, when-not-to-use, or alternatives are mentioned. The description implies usage for invalidation rather than deletion, but fails to guide the agent away from similar tools like delete_observations.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the default exclusion of archived reflections and mentions filtering options. However, it omits details like pagination, sorting, maximum return count, and the exact structure of the response.

    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?

    The description is extremely concise: two sentences that cover purpose, filters, and an important default behavior. Every word adds value, with no redundancy or unnecessary detail.

    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?

    Given the tool has 6 optional parameters and no output schema, the description covers the input semantics well but fails to describe the output format, pagination, ordering, or any limits. For a list tool, this information is important for the agent to set expectations.

    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 baseline is 3. The description adds value by explicitly stating that archived reflections are excluded by default, which is not obvious from the schema alone. It also summarizes the filtering dimensions, but most parameter meanings are already clear from the schema.

    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?

    The description uses a specific verb ('List') and resource ('stored agent reflections') and clearly states the filtering capabilities. It distinguishes itself from sibling tools like create_reflection or archive_reflection by focusing on listing with filters.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide guidance on when to use this tool versus alternatives (e.g., get_relevant_reflections, search for reflections). It only describes the filters, leaving the user to infer use cases.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It reveals the treatment of unbounded observations but does not mention other behavioral traits such as whether it returns all valid observations, includes expired or deleted ones, or is read-only. More context would be helpful.

    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?

    Two tightly written sentences with no fluff. The first states the core purpose, the second adds an important semantic detail about unbounded observations. Every word earns its place.

    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 simple tool with no output schema, the description omits what the return values look like. It mentions observationMeta but does not explain the output structure or content. Adequate but not complete.

    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 the schema already describes both parameters. The description adds no additional meaning beyond what is in the schema. Baseline score of 3 is appropriate.

    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?

    The description clearly states the verb 'Get', resource 'observations', and condition 'valid at a given point in time'. It distinguishes from siblings like 'entity_as_of' (entities) and 'query_as_of' (general queries) by focusing on observations. The added nuance about unbounded observations further clarifies behavior.

    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?

    No explicit guidance on when to use this tool vs alternatives like 'entity_as_of' or 'query_as_of'. The condition about observationMeta implies some usage context, but no when-not-to-use or explicit alternatives are provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses ordering and indexing performance, but does not mention pagination, default limit behavior, or side effects. Transparency is adequate but incomplete.

    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?

    Two sentences, front-loaded with purpose, no wasted words. Highly concise and well-structured.

    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?

    The tool has 6 parameters with nested objects and no output schema. The description omits return format, pagination, and error scenarios. With high schema coverage, it partially compensates but lacks completeness for a query tool.

    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 baseline is 3. The description reiterates filterable fields and adds context about combining them and ordering, but does not enhance individual parameter understanding beyond schema. Slight value added.

    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?

    The description clearly states the tool queries recorded events, lists specific filterable fields, and mentions chronological ordering. This is a specific verb and resource that distinguishes it from many sibling query tools.

    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?

    The description implies usage context (querying events with combinations of filters) but does not provide when-not-to-use or contrast with similar tools like search nodes. No explicit guidance on alternatives.

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

  • Behavior2/5

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

    With no annotations, description should fully disclose behavioral traits like side effects, reversibility, or permissions. It mentions summary generation and working memory promotion but omits whether session state is destroyed, if operation is idempotent, or any required permissions.

    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?

    Two concise sentences with front-loaded main action and efficient sibling differentiation, containing no superfluous information.

    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 lifecycle-ending tool with 2 parameters and no output schema, description explains core purpose and sibling differentiation but lacks return behavior, idempotency, and post-operation state. Adequate but not comprehensive.

    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% with descriptions for both parameters. Description adds no additional meaning beyond what schema provides, meeting baseline expectation.

    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?

    Description clearly states the verb 'End' and resource 'agent session via AgentMemoryManager', with specific actions like summary generation and working memory promotion. It also distinguishes from sibling tool 'end_session' by noting it handles the full session lifecycle vs failure distillation.

    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?

    Provides direct comparison with sibling 'end_session' for failure distillation, aiding agent in tool selection. Lacks explicit when-not-to-use or prerequisites, but the contrast is clear and actionable.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It indicates the policy affects future requests, which is helpful, but it omits details about reversibility, scope (e.g., global vs per-session), or authorization requirements. The description is adequate but not thorough.

    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?

    The description is a single sentence that is front-loaded with the core purpose. It contains no unnecessary words and efficiently conveys the tool's function.

    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 tool with three boolean parameters and no output schema, the description covers the essential purpose. However, it lacks important context such as whether the policy is persistent across sessions, if it can be overridden, or what the default state is. The depth is moderately sufficient but could be improved.

    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 already describes each boolean parameter with defaults. The description adds no new meaning beyond listing the parameters in parentheses. Baseline 3 is appropriate.

    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?

    The description clearly states the verb 'Set', the resource 'active governance policy', and specifies it controls which write operations (create, update, delete) are permitted for future requests. This distinguishes it from sibling tools, none of which appear to set governance policies.

    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?

    The description implies the tool is used to control write permissions, but it does not explicitly state when to use it vs alternatives, any prerequisites, or when not to use it. The purpose is clear enough for straightforward selection among siblings.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the internal two-stage algorithm, which gives insight into performance and behavior. However, it does not mention that the tool is read-only (likely true) or any auth/rate limit requirements. The transparency is good but incomplete.

    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?

    The description is extremely concise with two sentences that front-load the purpose and algorithm. Every word earns its place, with no redundancy or extraneous information.

    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?

    The algorithm is well-explained, but there is no mention of the output format or return values. Since there is no output schema, the description should cover what the tool returns (e.g., list of suggestions with scores). This gap prevents the description from being fully complete.

    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%, so the schema already documents all four parameters with descriptions. The tool description adds no additional meaning beyond what is in the schema, hence a baseline score of 3 is appropriate.

    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?

    The description clearly states the tool's purpose: 'Suggest close matches for a (potentially misspelled) query over the vocabulary of entity names + tag values.' It distinguishes from siblings by detailing the two-stage algorithm (bigram-Jaccard + Levenshtein) and specifying the scope (entity names + tag values), which differentiates it from other search tools like fuzzy_search or search_nodes_ranked.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    There is no guidance on when to use this tool versus other similar tools such as fuzzy_search or search_nodes_ranked. The description does not provide context for when spell correction is preferable or any exclusions.

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

  • Behavior3/5

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

    No annotations exist, so the description carries full burden. It correctly indicates a non-destructive operation (generates a visualization), but does not explicitly state it is read-only or describe authorization requirements. The description is adequate but not explicit about behavioral traits.

    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 description is a single sentence that efficiently conveys the core functionality. It is front-loaded with the key action ('Generate...') and avoids unnecessary words. However, it could be slightly expanded to include usage tips without losing conciseness.

    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?

    Given the tool's simplicity (2 optional params, no output schema), the description covers the primary function. It does not mention prerequisites (e.g., existing graph data) but this is implied. For a straightforward visualization tool, the description is largely complete.

    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% with descriptions for both 'title' and 'maxEntities'. The description adds context about visual encoding (color, size) but does not enrich parameter semantics beyond what the schema already provides. Baseline score of 3 applies.

    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?

    The description clearly states it generates a self-contained interactive HTML page with a D3.js force-directed graph, specifying visual encoding (color by type, size by importance). This distinguishes it from sibling tools that return raw data or non-visual outputs.

    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?

    The description implies its use for visual representation, but it lacks explicit guidance on when to use it versus alternatives like read_graph or visualize_subtree. No when-to-use or when-not-to-use context is provided.

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

  • Behavior3/5

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

    With no annotations, the description must disclose all behavioral traits. It states the effect (filters memories before context formatting) and the three policy options, but does not reveal whether changes are immediate, persistent, or require restart. No side effects or prerequisites are mentioned.

    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?

    The description is a single, efficient sentence that front-loads the purpose and includes the key policy options. Every word contributes value with no redundancy.

    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 simple configuration tool with one enum parameter and no output schema, the description is largely complete. It covers what the tool does and the available policies. Minor gaps exist regarding return value and persistence, but these do not critically impair understanding.

    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% and the schema's parameter description already explains the enum values. The description adds no additional meaning beyond the schema; it contextualizes the parameter but does not extend understanding.

    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?

    The description clearly states the verb 'configure', the resource 'distillation pipeline policy', and the scope 'filters memories before context formatting'. It lists the three policy options and distinguishes from sibling tools like run_consolidation_now which execute rather than configure.

    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?

    The description implies the tool sets a policy but does not specify when to use it versus alternatives like compress_context or set_governance_policy. No explicit 'when to use' or 'when not to use' guidance is provided.

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

  • Behavior3/5

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

    No annotations are present, so the description carries full burden. It discloses read-only intent and ordering behavior but does not mention side effects, permissions, error scenarios, or return format details beyond ordering.

    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?

    The description is three sentences, front-loaded with the core purpose. Every sentence adds value without redundancy. No unnecessary words.

    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 simple read tool with no output schema and 3 parameters, the description explains ordering and filtering. It lacks details about what constitutes an entry, pagination beyond lastN, error handling, or authentication, but it is largely adequate for basic use.

    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?

    Input schema covers all parameters with descriptions. The description adds 'Optional topic filter' which duplicates schema. No additional parameter nuance or constraints are provided beyond the schema.

    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?

    The description clearly states the action ('Read'), the resource ('diary entries'), and specific behaviors ('reverse chronological order', 'filter by topic'). It distinguishes from sibling 'diary_write' and implies a read-only operation.

    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?

    The description implies usage for reading recent diary entries but provides no explicit guidance on when not to use it or alternatives beyond the presence of sibling 'diary_write'. No when-not or context exclusions are given.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It accurately describes the return value (entity or null) and the validity logic. It implies a read-only query, but does not explicitly state that it is non-destructive or free of side effects. Lacks some explicit behavioral traits.

    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?

    Three sentences, each earning its place: high-level purpose, return behavior, and detailed validity condition. Front-loaded with the key concept 'time-travel query'. No wasted words.

    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?

    Adequate for a simple query tool with two well-documented parameters, but lacks information about the output shape (what fields the returned entity has) and error handling (e.g., if entity does not exist). Without output schema, some context is missing.

    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?

    The schema already fully describes parameters (name and asOf) with 100% coverage. The description adds value by explaining how asOf is used in the validity formula (validFrom <= asOf AND (validUntil undefined OR validUntil >= asOf)), which goes beyond the schema.

    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 clearly states the tool performs a 'time-travel query for an entity' and returns it at a given point in time. It specifies the resource (entity) and action (query by asOf). However, it does not explicitly distinguish from sibling tools like get_entity_versions or entity_timeline, so it misses a 5.

    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?

    The description implies usage when you need an entity's state at a specific date and provides the validity condition, but it does not give explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.

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

  • Behavior3/5

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

    No annotations provided. Description explains that the tool searches paths and sorts by score, but does not disclose whether it modifies data or any side effects. Given no readOnlyHint, this is adequate but not explicit.

    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?

    Two sentences front-loaded with identifier and purpose. No redundant information; every word earns its place.

    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?

    Given the complexity of causal chain search and no output schema, the description does not specify the return format (e.g., list of paths with scores and edges). It is functional but leaves ambiguity about result structure.

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

    Parameters5/5

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

    With 67% schema coverage, description adds significant meaning: explains the causal relation types used, the scoring method (product of causalStrength), and implies sorting. This compensates for undocumented maxDepth and clarifies the purpose of candidates.

    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?

    Description clearly states 'Find causal chains ending at the named effect', specifying verb and resource. It further distinguishes from siblings by detailing the search approach (via causal relation types) and sorting mechanism (product of causalStrength).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool vs alternatives like find_effects, detect_causal_cycles, or find_all_paths. The agent is left to infer context from the description alone.

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

  • Behavior2/5

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

    With no annotations, the description bears the full burden of behavioral disclosure. It only states that the tool 'loads' and 'joins', implying read-only, but fails to mention error conditions, permissions, rate limits, or the structure of the returned data. The description is insufficient for safe agent usage.

    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?

    A single, dense sentence efficiently conveys the core purpose and key details (loading by entity name, joining endpoints). The description is front-loaded with the main action and contains no wasted words.

    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?

    Given the tool has one parameter and no output schema, the description is fairly complete. It specifies the input source and the types of relations included in the output (actor, target, context, participants). However, it does not explain the return format or failure modes, leaving minor gaps.

    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% for the single required parameter 'name'. The description adds value by clarifying that the name is an event entity name as returned by record_event or query_events, providing contextual sourcing beyond the schema's generic description.

    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?

    The description clearly states the tool loads a single recorded event by entity name and explicitly mentions the joining of role-typed endpoints (actor, target, context, participants). This specific verb+resource effectively distinguishes it from siblings like query_events (which lists events) and get_event_flow (flow analysis).

    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?

    The description implies usage after obtaining an event name via record_event or query_events, but it does not explicitly state when to use this tool versus alternatives such as get_event_flow or who_did_what. No guidance on when not to use it is provided, leaving some ambiguity for the agent.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses the snapshot is fresh, capped, and prefers high-importance entities when over capacity. However, it does not mention side effects (likely read-only), performance, or authorization needs. Adds some context beyond schema but not exhaustive.

    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?

    Two sentences front-loaded with key purpose and constraints. No extraneous words; every sentence adds value.

    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?

    Given no output schema, description covers return fields and cap behavior. Slight ambiguity remains on entitiesByName structure and timestamp format, but overall sufficient for an agent to understand the tool's output and constraints.

    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?

    No parameters exist; schema coverage is 100% trivially. Baseline is 4. Description adds value by describing the output structure (entitiesByName, takenAt, size) and constraints, compensating for lack of output schema.

    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?

    Description states verb 'capture', resource 'snapshot of the live graph', and contents 'entitiesByName + takenAt timestamp + size'. It clearly distinguishes from siblings by describing a fresh snapshot with size cap and importance-based selection, unlike other graph reading tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit when-to-use or alternatives. The description implies for capturing current graph state, but lacks comparison to similar sibling tools like read_graph, inspect_entity, or get_graph_stats.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It explains the algorithm and sorting, but lacks details on side effects (none expected), authorization, rate limits, or behavior on empty results. The version string adds no behavioral context.

    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?

    The description is a single informative sentence that front-loads the core purpose and adds the matching algorithm and sorting order. Every word is necessary, no fluff.

    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 tool with 3 simple parameters and no output schema, the description covers the matching logic, sorting, and the input parameter. Missing details on the return structure (e.g., fields returned per heuristic) and the effect of limit/minScore on output, but overall adequate.

    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% with descriptions for all parameters (input, limit, minScore). The description adds no extra meaning beyond the schema, such as how the algorithm uses minScore or the default for limit. Baseline 3 is appropriate given high coverage.

    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?

    The description clearly states the tool finds heuristics whose condition matches input, specifying the matching method (Jaccard token-overlap × confidence) and sorting order (descending by score, then priority). This distinguishes it from sibling tools like list_heuristics or reinforce_heuristic.

    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?

    The description implies the tool is for matching input to heuristic conditions, but does not explicitly state when to use it versus alternatives like list_heuristics or detect_heuristic_conflicts. No exclusions or alternative tools are mentioned.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: the tool is a no-op for unknown callIds. However, it does not detail other behaviors such as whether it overwrites existing errors, idempotency, or authorization needs.

    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?

    The description is extremely concise with two short sentences. The first sentence captures the main action, and the second adds a critical edge case. No unnecessary information.

    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?

    Given the tool has 2 required parameters, no output schema, and no annotations, the description covers the basic purpose and one edge case. However, it lacks details about return values, error handling, or whether the error message is appended/overwritten, leaving some gaps in completeness.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must add meaning for the two required parameters (callId, errorMessage). The description does not explain what callId represents (e.g., a tool invocation ID) or any constraints on errorMessage format. The agent must infer from the tool's purpose.

    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?

    The description clearly states the tool's action: 'Record failure with an error message.' It also specifies a critical edge case: 'No-op on unknown callId.' This distinctively separates it from sibling tools like observe_tool_start or observe_tool_complete.

    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?

    The description implies usage for recording failures but does not explicitly state when to use this tool versus alternatives (e.g., observe_tool_cancel) or provide guidance on prerequisites or conditions when not to use it.

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

  • Behavior3/5

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

    No annotations exist, so the description carries full burden. It discloses the deduplication algorithm and dryRun support, but omits critical details such as whether the tool is destructive, what happens to relations, and what the return value is beyond dryRun.

    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?

    A single, well-structured sentence that front-loads the purpose and efficiently conveys the priority hierarchy without wasted words.

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

    Completeness2/5

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

    The description lacks details on return value (no output schema), side effects, and interaction with entities/relations. Given the tool's complexity and lack of output schema, it should explain what the tool returns or how changes are applied.

    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% with a clear description for the single parameter `dryRun`. The tool description adds the algorithm context but does not enhance parameter semantics beyond the schema already provided.

    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?

    The description clearly states it performs 'priority-based deduplication' and specifies the priority order (importance > recency > observation count > tags), distinguishing it from sibling tools like 'find_duplicates' or 'merge_entities' that either only identify duplicates or merge without priority scoring.

    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?

    The description implies the tool is for priority-based deduplication but does not explicitly state when not to use it or suggest alternatives. It provides clear context for usage with the algorithm details, but lacks explicit guidance compared to other tools.

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

  • Behavior4/5

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

    Given no annotations, the description effectively discloses key behaviors: first call creates a record, subsequent calls append to a rolling window, and a 'conflict' error on concurrent writer mismatch. It lacks mention of permissions or side effects, but for a recording tool, this is sufficient.

    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?

    The description is extremely concise at three sentences, front-loading the purpose and version. Every sentence adds value, and there is no extraneous information.

    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 tool with 4 parameters, no output schema, and no annotations, the description covers behavioral aspects well but lacks parameter guidance and does not explain the rolling window or conflict resolution in sufficient detail. It is minimally complete but has noticeable gaps.

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

    Parameters1/5

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

    The description provides no information about parameters beyond what the input schema offers. Schema description coverage is 50%, and the description does not compensate by explaining the purpose or constraints of each parameter, such as the required fields or the condition for errorMessage.

    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?

    The description clearly states it records a single tool-call outcome and explicitly distinguishes itself from sibling observer tools by noting it bypasses ToolCallObserver. The verb 'record' and resource 'tool-call outcome' are specific, and the reference to versioning adds context.

    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?

    The description indicates this tool is for directly recording outcomes without going through the observer, implying use cases where direct recording is needed. However, it does not explicitly state when not to use it or provide alternatives, though the sibling observer tools are implied as alternatives.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full burden. It indicates destructive action ('Reverse', 'restores entity') but does not disclose required permissions, irreversibility, error handling for invalid auditEntryId, or what happens to dependent operations.

    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?

    Single, well-structured sentence that efficiently conveys the tool's purpose and mechanism. No unnecessary words.

    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 simple, single-parameter tool, description adequately covers core behavior and parameter meaning. However, could briefly mention reversible/irreversible nature or dependencies, but not critical given simplicity.

    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 already describes auditEntryId as 'ID of the audit entry to reverse'. The description adds context by explaining the effect ('restores entity to before-snapshot') and reinforces the parameter's role, adding value beyond schema.

    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?

    Description uses specific verb 'Reverse' and clear resource 'specific committed operation via audit entry ID', with added context of restoring entity to before-snapshot. This distinguishes from sibling tools, none of which describe similar rollback functionality.

    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?

    Implies usage for reversing committed operations via audit entry ID, but no explicit when, when-not, or alternative tools. Context is clear but lacks explicit guidance.

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

  • Behavior3/5

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

    No annotations exist, so the description must disclose behavior. It mentions tracking lifecycle and enabling working memory but omits side effects, prerequisites, or idempotency.

    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?

    Two sentences, front-loaded with purpose, no redundant information. Every sentence adds value.

    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?

    Covers return type (SessionEntity with id and timestamps) and high-level features. Lacks details on error handling or multiple calls but is adequate for a session start tool.

    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?

    The description adds context about session chaining relating to parentSessionId, but does not significantly elaborate beyond the schema, which already covers 100% of parameters.

    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?

    The description clearly states the verb 'Start' and the resource 'agent session', and distinguishes it from siblings like end_session, session_checkpoint, etc.

    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?

    The description implies when to use (starting a session) but provides no explicit guidance on alternatives or when not to use, relying on context.

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

  • Behavior2/5

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

    No annotations are provided, so the description alone must disclose behavioral traits. It only says 'stop', but does not mention effects like whether in-flight tasks are terminated, if the action is reversible, or any safety considerations.

    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?

    The description is a single, efficient sentence with no wasted words. It is front-loaded and directly states the tool's purpose.

    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?

    Given the tool has no parameters, no output schema, and a simple action, the description is largely adequate. However, it lacks context about the scheduler's state before and after, which could be useful for an agent.

    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?

    There are no parameters, and the schema coverage is 100%. The description does not need to add parameter information, and it appropriately adds no extra meaning beyond what the schema implies.

    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?

    The description clearly states the action ('Stop') and the resource ('background consolidation scheduler'), making it unambiguous. It effectively distinguishes from sibling tools like 'start_consolidation'.

    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?

    The description gives no explicit guidance on when to use this tool versus alternatives. While it's implied that it's used when stopping is desired, no prerequisites or conditional advice are provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry full behavioral disclosure. It states 'remove' indicating a destructive action but omits details on permissions, irreversibility, or side effects. This lack of depth is concerning for a deletion operation.

    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?

    The description is two sentences with no filler. It efficiently communicates the action and relationship to a sibling tool, making it clear and easy to parse.

    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 simple deletion tool with no parameters or output schema, the description provides minimal but essential context. However, it lacks information about scope (e.g., current session or all), potential outcomes (e.g., success message), and safety considerations, leaving some ambiguity.

    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?

    The input schema has zero parameters, so the description naturally does not need to add parameter information. The baseline for zero parameters is 4, and the description is adequate in this regard.

    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?

    The description clearly states the action ('Remove all working memories that have exceeded their TTL') and distinguishes from the sibling tool 'get_expired_entities' by contrasting listing vs deletion.

    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?

    The description implies use for deletion while referencing a complementary tool for listing, providing clear context. However, it does not explicitly state when not to use or alternative tools beyond the mentioned sibling.

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

  • Behavior3/5

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

    With no annotations, the description bears full responsibility. It discloses core actions (promote, merge, summarize, extract) but lacks details on side effects, reversibility, or authorization needs. The behavioral information is present but incomplete.

    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?

    Two sentences convey the purpose, steps, and distinction from a sibling tool. Every sentence adds value with no redundancy.

    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?

    While the description lists pipeline steps, it does not specify the output or return behavior (e.g., whether it returns a report or is void). Given no output schema, this is a gap in completeness for a multi-step pipeline.

    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% for the single parameter (sessionId), and the description adds no further detail beyond the schema's description. Baseline 3 is appropriate.

    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?

    The description provides a specific verb (Run) and resource (ConsolidationPipeline on a session), lists the pipeline steps (promote working memory, merge duplicates, summarize, extract patterns), and explicitly distinguishes from the sibling tool 'run_consolidation_now'.

    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?

    The description contrasts this tool with run_consolidation_now, signaling when to use each: use consolidate_session for a full session-scoped pipeline, and run_consolidation_now for the dedup scheduler. However, it does not provide explicit when-not conditions or prerequisites.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses deduplication and scoping but misses side effects like whether existing reflections are updated or returned, and lacks error conditions or authorization needs.

    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?

    The description is a single sentence that conveys purpose, behavior, and constraints with zero wasted words, achieving maximum conciseness.

    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 creation tool with 10 parameters and no output schema, the description is adequate but incomplete: it does not clarify the return value (e.g., created reflection ID) or provide details on optional parameters like importance or keyInsights.

    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 baseline is 3. The description adds 'deduplicated by evidence hash' which provides extra context for the evidence parameter, but overall does not significantly deepen understanding beyond the schema.

    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?

    The description clearly states the verb ('Persist') and the resource ('agent reflection'), and distinguishes this creation tool from siblings like list_reflections or archive_reflection by emphasizing persistence.

    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?

    The description provides context on deduplication and scoping, which implies when to use (to create a new reflection) but does not explicitly exclude alternatives or state when not to use.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses that the tool returns relations and degree counts and is lighter than inspect_entity, implying it's read-only and efficient, but does not mention error handling, authorization needs, or scope limitations.

    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?

    Extremely concise: one effective sentence with a version tag and a comparative note, front-loaded with core functionality, no wasted words.

    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?

    Tool is simple with one parameter, but no output schema exists and description omits return format (e.g., structure of relations and degree counts). Adequate for basic use but incomplete for full agent understanding.

    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 has 100% coverage (single parameter described as 'Entity name'), so baseline is 3. Description adds no extra meaning beyond the schema.

    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?

    Description clearly states it returns incoming/outgoing relations and degree counts for a single entity, and distinguishes from sibling 'inspect_entity' by noting it's lighter and for graph-topology view only.

    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?

    Explicitly contrasts with inspect_entity and says when to use ('when you only need the graph-topology view'), but no explicit when-not or other alternatives.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions chronological ordering and scope (all events with the flow key), but lacks details on pagination, error handling when flow key doesn't exist, or whether it's purely read-only. It is adequate but not comprehensive.

    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?

    The description is a single, well-structured sentence that front-loads the core purpose. Every word contributes meaning, with no fluff. It is appropriately sized for the tool's simplicity.

    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?

    The tool has no output schema, and the description does not describe the structure of returned events (e.g., fields, pagination). For a tool that retrieves events, additional context on what each event contains or limits would improve completeness. The description is sufficient for a basic understanding but leaves gaps.

    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% (only flowKey, with description 'Flow key (case-insensitive)'). The tool description adds value by specifying the expected format: 'flow:<key> tag', which clarifies the convention beyond the schema's description. This provides useful context for the agent.

    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?

    The description clearly states the tool retrieves all events sharing a flow key, chronologically ordered, providing a full timeline of a named flow (e.g., release, incident). The verb 'get' and resource 'events' with a specific filter (flow key) are precise, distinguishing it from generic sibling tools like 'timeline' or 'query_events'.

    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?

    The description explains what the tool does but provides no explicit guidance on when to use it vs. alternatives. It implies usage when a flow key is known, but does not mention scenarios where one would prefer other timeline or event tools, nor does it give exclusion criteria.

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

  • Behavior3/5

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

    Describes chunking strategy and entity creation with verbatim observations. Without annotations, it carries the burden but does not disclose effects on existing data, destructive nature, or other side effects. Adequate but limited.

    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?

    Three sentences, front-loaded with purpose, no redundant information. Efficient.

    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 tool with 6 params and no output schema/annotations, the description covers the main functionality but lacks information about return values, errors, or post-conditions. Adequate but not comprehensive.

    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 covers all 6 parameters with descriptions. The description adds context around chunkBy by mentioning exchange pairs, but does not elaborate on other parameters beyond what schema provides. Baseline 3, with minor added value.

    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?

    Clearly states it ingests pre-normalized conversation data into the knowledge graph, with chunking and entity creation. Distinguishes from general ingestion by specifying pre-normalized input.

    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?

    Explicitly says to normalize chat exports before calling, implying a prerequisite. However, it does not explicitly compare to other ingestion tools like ingest_dialogue or provide 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.

  • Behavior4/5

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

    Discloses return value (callId), threading mechanism, and event emission (toolCall:start). With no annotations provided, description carries full burden and meets it well for a start-observation 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?

    Three concise sentences, front-loaded with version and primary action. No superfluous information.

    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?

    Explains return value, threading pattern, and event emission. Lacks error handling or validation details for toolName, but adequate for a simple start tool with no output schema.

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

    Parameters2/5

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

    Schema covers 50% of parameters with descriptions (only args has description). Description adds no extra meaning beyond what schema provides; toolName lacks any context or constraints. Does not compensate for schema gaps.

    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?

    Description clearly states the tool begins observing a tool call, returns a callId, and is part of a family (observe_tool_complete/error/partial/cancel). It distinguishes itself as the initiation point among sibling observation tools.

    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?

    Implied usage as the first step in a sequence of observation calls, but no explicit when-to-use or when-not-to-use guidance. No comparison with alternatives beyond listing sibling names.

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

  • Behavior2/5

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

    No annotations provided; the description omits behavioral traits such as side effects, permissions, or concurrency implications. For a tool with zero annotation coverage, more disclosure is needed.

    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?

    Single sentence, front-loaded, concise with no redundancy.

    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?

    Adequate for a parameterless trigger action, but lacks behavioral context (e.g., blocking, return value, idempotency) that would improve agent decision-making.

    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?

    The tool has zero parameters (schema coverage 100%), and the description appropriately focuses on the action. Baseline score of 4 applies for no parameters.

    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?

    The description clearly states the action ('run'), the resource ('a consolidation cycle'), and distinctive context ('on demand, independently of the scheduled interval'), distinguishing it from siblings like start_consolidation which manage scheduling.

    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?

    The description implies when to use (on demand vs scheduled), but does not explicitly state when not to use or name alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It describes the calculation components but does not explicitly state that the operation is read-only or disclose any side effects, permissions, or performance implications.

    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?

    The description is extremely concise: two sentences with no redundant information. The first sentence defines the action and output components; the second sentence provides workflow guidance.

    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?

    Given there is no output schema, the description should clarify the return format. It lists the score components but does not specify how they are returned (e.g., JSON object). The pairing with format_with_salience_budget partially compensates, but the description alone leaves a gap.

    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 baseline is 3. The description mentions 'entity' to score but adds no additional detail about the optional parameters (queryText, sessionId, taskDescription) beyond what the schema provides.

    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?

    The description clearly states the tool's purpose: calculating a 5-component relevance score for an entity, and lists the components. It distinguishes itself from siblings by explicitly pairing with format_with_salience_budget.

    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?

    The description gives explicit guidance to use with format_with_salience_budget, indicating a typical workflow. However, it does not specify when not to use the tool or mention alternatives among siblings.

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

  • Behavior4/5

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

    The description discloses that the tool initializes memory, loads specific layers, returns a compact boot context, and mentions approximate token cost (~600). Without annotations, this provides sufficient behavioral transparency for a non-destructive setup operation.

    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?

    Two sentences deliver the core action, token cost, layer details, and output type with no redundant information. Front-loaded with the most critical information first.

    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?

    The description covers purpose and main behavior but omits details about layers L2 and L3 of the 4-layer stack, and the return value is vaguely described as 'compact boot context' without specifics on structure or content.

    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?

    The single parameter 'compress' is described with its effect ('Apply n-gram compression to reduce token count') and default value ('default: false'), adding meaningful context beyond the schema's type and description.

    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?

    Description clearly identifies the tool as initializing a 4-layer memory stack context, specifying what layers L0 and L1 load. This distinguishes it from sibling tools like 'compress_context' or 'format_with_salience_budget', which serve different purposes.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives. The context of initialization is implied, but there is no discussion of prerequisites, exclusions, or comparisons to similar memory or context tools among the many siblings.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses the iterative process, stopping conditions (coverage or token expansion), and that it is purely symbolic with no LLM required. It does not mention side effects or output format, but the read-only nature is implied.

    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?

    Two sentences efficiently convey the purpose, algorithm, and key behavioral traits. No wasted words; front-loaded with the title and process description.

    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?

    Given the tool complexity (5 parameters, no output schema), the description covers the core algorithm and stopping conditions. It lacks details on return format or result structure, but for a retrieval tool, the provided information is sufficient for basic usage.

    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 only 20% (only budgetTokens has a description). The description does not detail individual parameters but explains the overall algorithm, which helps interpret the roles of query, maxRounds, minCoverage, etc. This partially compensates for the lack of schema descriptions.

    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?

    The description clearly states the tool runs iterative query-rewriting retrieval, outlining the steps (search → score coverage → rewrite) and specifying it is purely symbolic without an LLM. This distinguishes it from sibling tools like semantic_search or hybrid_search.

    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?

    The description explains the algorithm and stopping criteria but does not explicitly guide when to use this tool versus alternatives. It implies use for multi-round retrieval to improve coverage but lacks explicit when-to-use or when-not-to-use instructions.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool is 'Idempotent' and 'safe after manual graph edits,' which reveals important safety properties. However, it omits details about potential performance impacts or the exact nature of 'busting' caches, leaving some ambiguity.

    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 description is concise at two sentences, delivering the core purpose and key behavioral traits efficiently. The inclusion of 'v12.5.0' adds minor noise but does not detract significantly from conciseness.

    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?

    Given the tool's simplicity and lack of output schema, the description covers the essential action and safety. However, it does not mention the return value or confirmation of success, which would improve completeness for an agent.

    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?

    The tool has no parameters, so the description is not required to add parameter-specific meaning. The baseline for 0 parameters is 4, and the description does not contradict or add misleading information.

    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?

    The description clearly states the verb 'Bust' and the specific resource 'all four global search caches,' making the tool's purpose immediately obvious. It distinguishes itself from siblings like cache_stats and clear_expired_memories by targeting search caches specifically.

    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?

    The description explicitly recommends use 'after manual graph edits to drop stale results,' providing clear context for when this tool is appropriate. It does not explicitly mention alternative tools, but given the unique purpose, this guidance is sufficient.

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

  • Behavior3/5

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

    The description discloses that the tool provides a snapshot and is process-local with zero initial state, but does not explicitly state whether it is read-only, expensive, or has side effects. With no annotations, the description could be more explicit about safety and performance impact.

    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?

    The description is concise (two lines), front-loads the version, and immediately conveys the tool's purpose. Every sentence adds value.

    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?

    Given no output schema and no annotations, the description adequately describes the return values (hits, misses, size, hitRate) and scope (per-tier, process-local). It could be slightly improved by noting performance implications or whether it locks caches.

    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?

    The input schema has zero parameters, so schema coverage is 100%. The description adds no parameter information, but this is acceptable because no parameters exist. Baseline score of 4 is appropriate.

    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?

    The description clearly states the tool provides a per-tier snapshot of global search caches with specific metrics (hits, misses, size, hitRate) and distinguishes it from other cache-related tools. The verb 'showing' and resource 'global search caches' are precise.

    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?

    The description implies the tool is for inspecting cache stats, but it offers no explicit guidance on when to use it versus alternatives like cache_clear or reindex. There is no mention of when not to use it or prerequisites.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses that compression uses 'n-gram abbreviation' and produces a 'legend', but lacks details on side effects (e.g., whether original text is modified, reversibility, or any permissions needed).

    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?

    Two concise sentences: first states the purpose and method, second provides sibling differentiation. Every word is purposeful, and the key action is front-loaded.

    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 simple two-parameter tool with no output schema, the description is largely complete. It explains the compression technique and the output (legend). Still, it could elaborate on when to use compression (e.g., for large context) or the nature of the legend.

    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% with descriptions for both parameters (text, level). The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.

    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?

    The description clearly states the tool's action: 'Compress text using n-gram abbreviation with a legend for token-efficient context loading.' It also distinguishes itself from a sibling tool (format_with_salience_budget), making the purpose specific and unambiguous.

    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?

    The description provides a direct comparison with format_with_salience_budget, implying when to use each: this tool for text-level compression, the other for token budget allocation. However, it does not explicitly list when not to use this tool or provide broader alternative guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It states 'report-only,' implying no side effects, and mentions the exact matching tier (SHA-256). However, it doesn't disclose pagination behavior, performance expectations, or error scenarios. Adequate but not exhaustive.

    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?

    The description is two sentences: one specifying the version and core functionality, another noting complementarity and report-only nature. Every sentence adds value, and the information is front-loaded.

    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 simple find-duplicates tool with no output schema, the description covers the essential behavior (exact matching, cross-entity, report-only). While it doesn't describe the output format, the tool's name and purpose make the return type (groups of duplicate observation strings) predictable.

    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% with all 5 parameters described. The description does not add additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

    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?

    The description clearly states the tool finds verbatim duplicate observation strings across distinct entities, using SHA-256 exact matching. It distinguishes itself from MemoryEngine.checkDuplicate (turn-level) and CompressionManager.findDuplicates (whole-entity), which clarifies its unique role.

    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?

    The description mentions it's complementary to two sibling tools, giving context on when to use this tool vs alternatives. However, it doesn't explicitly state when NOT to use it or provide detailed handling of parameterized filters.

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

  • Behavior3/5

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

    No annotations exist, so description carries full burden. It explains the decay mechanism but does not specify behavior such as ordering, pagination, or read-only nature. Adequate for a simple list 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?

    Two concise sentences with zero filler. Information is front-loaded and each sentence serves a distinct purpose: definition and differentiation.

    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?

    Given one simple parameter and no output schema, the description adequately covers the tool's purpose and key differentiator. Absence of output description is acceptable for a list tool.

    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 provides full coverage of the single parameter with its description. The tool description adds no additional parameter semantics beyond what schema offers.

    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?

    Description clearly states it lists memories below an importance threshold due to time-based decay, and distinguishes from get_stale_entities by specifying the decay engine importance calculation mechanism.

    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?

    Explicitly contrasts with get_stale_entities, providing clear context on when to use this tool. Does not include explicit when-not-to-use, but the differentiation is sufficient.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full burden. It does not disclose behavioral traits like default limit, return format, or how evidence overlap works. Limited transparency.

    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?

    Two sentences, front-loaded with core purpose, followed by usage advice. No wasted words.

    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?

    Adequately explains what the tool does and when to use, but could elaborate on return values or behavior of parameters like minConfidence and limit. Schema covers params, so it's mostly 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 covers all parameters with descriptions. Description adds extra meaning for sessionEntityNames (evidence overlap) and implies sessionId is used for matching, beyond schema baseline.

    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?

    Description clearly states it retrieves reflections relevant to a session, matching by sourceSessionId and evidence overlap with session entity names. This specific verb+resource+criteria distinguishes it from siblings like list_reflections.

    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?

    Explicitly says 'Use at session start to surface applicable past lessons', giving clear context. Lacks explicit when-not or alternatives, but the guidance is strong.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses key behaviors: fusion of signals, automatic normalization of weights, and detailed effects of each additive option (e.g., 'graphWeight adds...', 'explain annotates...'). However, it does not mention read-only nature, rate limits, or authorization needs.

    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 description is information-dense without redundancy. It front-loads the core purpose, then lists additive options in a structured manner. Slightly longer than minimal but every sentence adds value.

    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?

    Given the tool's complexity (8 params, nested objects) and lack of output schema, the description should mention what the results contain. It doesn't describe return format or pagination, leaving the agent to infer. Adequate but incomplete.

    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 baseline is 3. The description adds value by explaining that weights are 'automatically normalized to sum to 1.0' and by detailing the v3 additive options (graphWeight, expandNeighbors, explain, lookFor) with their effects, going beyond schema descriptions.

    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?

    The description clearly states the tool's purpose: 'Search using combined semantic, lexical, and metadata signals.' It distinguishes itself from single-signal searches by promising 'better recall' and lists specific additive options (graphWeight, expandNeighbors, explain, lookFor), differentiating it from sibling search tools.

    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?

    The description implies usage for high-recall searches but does not explicitly state when to prefer this over alternatives like semantic_search or boolean_search. No exclusion criteria or when-not-to-use guidance is provided.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden for behavioral traits. It states the tool is static and has no persistence, and returns null on missing required sections. This provides key transparency about side effects and error conditions.

    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 description is concise—one sentence plus a return note. The version prefix 'v2.1.0' is minor but does not harm. It is front-loaded and to the point, earning a high score.

    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?

    Given the simplicity (1 param, no output schema, no annotations), the description covers the main behavior and return case. However, it does not specify what constitutes valid ADR markdown or the full structure of DecisionInput, leaving some gaps for an agent.

    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% with a clear description for the single parameter 'text' ('Raw ADR markdown text'). The tool description adds minimal extra meaning beyond that, so a baseline of 3 is appropriate.

    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?

    The description clearly states the tool's action: parsing ADR markdown into a DecisionInput shape. It specifies the source (hand-written or exported) and distinguishes itself from sibling tools like export_decision_as_adr_markdown by being the inverse operation.

    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?

    The description implies when to use (when you have ADR markdown and want a structured DecisionInput) but does not explicitly mention when not to use or compare with alternative parsing tools. It is clear enough for straightforward usage.

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

  • Behavior3/5

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

    The description is adequate for a read-only statistics tool, but it does not explicitly state it has no side effects or require permissions. Since no annotations exist, the description carries the full burden; it could be more explicit about safety.

    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?

    Single concise sentence that is front-loaded with key info. No unnecessary words.

    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?

    Given zero parameters and no output schema, the description is largely complete. It could mention the return format (e.g., JSON object) but is not missing critical information for a simple stats tool.

    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?

    The tool has zero parameters, so baseline is 4 per guidelines. The description adds no parameter info, but none is needed.

    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?

    The description clearly states the tool provides size statistics (node and edge counts) for the reconstructive memory graph. It specifies the node types and edges, distinguishing it from sibling graph tools like get_graph_stats or validate_graph.

    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?

    No explicit when-to-use or when-not-to-use guidance is provided. The description implies usage by naming the tool, but it does not contrast with alternatives (e.g., get_graph_stats) or state prerequisites.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses that the tool performs an 'active multi-step traversal', returns 'accumulated evidence', 'step-by-step trajectory', and indicates whether the loop stopped 'early on a satisfied condition vs. budget'. This provides reasonable insight into the tool's internal process and termination behavior, though it does not mention potential side effects (e.g., if it modifies memory).

    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?

    The description is a single, front-loaded sentence that efficiently conveys the tool's action, resource, and return values. No redundant or filler content.

    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?

    The tool lacks an output schema, but the description explains what is returned: accumulated evidence, step-by-step trajectory, and stop condition. Given the complexity of multi-step traversal, this is fairly complete. However, it does not mention any prerequisites, rate limits, or whether the tool is read-only, which would enhance completeness.

    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% with all parameters described. The description mentions 'budget' and 'stop condition', which loosely match parameters like 'maxSteps' and 'evidenceTarget', but adds no semantic details beyond what the schema already provides. Baseline 3 is appropriate given complete schema coverage.

    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?

    The description clearly states the tool's purpose: 'Answer a query via active multi-step traversal of the reconstructive (Cue–Tag–Content) memory graph.' It specifies the resource (reconstructive memory graph), the action (answer via traversal), and the return values (evidence, trajectory, stop condition). This distinguishes it from sibling tools like 'search_nodes' or 'reconstructive_memory_stats' which serve different functions.

    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?

    The description implies usage for complex queries requiring multi-step traversal, but does not explicitly state when to use this tool versus alternatives like 'search_nodes' or 'query_natural_language'. No exclusions or prerequisites are given, relying on the agent to infer from the tool's name and context.

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

  • Behavior4/5

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

    While no annotations exist, the description discloses key behavioral traits: the event becomes a first-class entity, missing endpoints auto-create as concept stubs, and flowKey groups events. However, it does not mention mutability, idempotency, or permission requirements.

    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?

    Two sentences front-load the core purpose and then add essential side-effect details (auto-creation of stubs, flow grouping). No redundant or superfluous content.

    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?

    Given 9 parameters and no output schema, the description provides the core concept and side effects. It explains auto-creation of missing endpoints and flow grouping. However, it does not describe the return value or how 'importance' and other optional parameters behave in context.

    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%, so baseline is 3. The description adds high-level context (role-typed relations, stub creation) but does not elaborate on individual parameter semantics beyond what the schema provides.

    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?

    The description clearly states the verb 'Record' and the resource 'n-ary event', and explains the event becomes a first-class entity with role-typed relations. This distinguishes it from sibling tools like 'get_event' or 'query_events' which retrieve or query events.

    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?

    The description implies when to use (recording an event) but does not explicitly differentiate from alternative event tools such as 'get_event', 'query_events', or 'get_event_flow'. No exclusions or when-not guidance is provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses that registration includes type, trust level, and capabilities, but lacks details on side effects (e.g., overwriting, idempotency), authentication needs, or what happens upon duplicate agentId. This is adequate but leaves behavioral gaps.

    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?

    A single sentence with a comparative clause, front-loaded with the core action. No unnecessary words or repetition. Every part earns its place.

    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?

    Given the schema fully documents parameters and the description provides purpose and differentiation, the definition is fairly complete. No output schema exists, but that is acceptable. Minor missing context about persistence or effects, but not critical.

    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?

    Input schema has 100% description coverage for all 4 parameters, so baseline is 3. The description adds a summary phrase ('identity metadata with type, trust level, and capabilities') but does not provide additional meaning beyond the schema's individual descriptions.

    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?

    The description clearly states the tool registers an agent for multi-agent operations with identity metadata, using a specific verb 'register' and resource 'agent identity'. It also distinguishes itself from the sibling tool set_agent_role by contrasting registration vs role profile application.

    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?

    The description explicitly differentiates from set_agent_role ('Unlike set_agent_role...'), providing clear guidance on when to use this tool over the alternative. However, it does not explicitly state scenarios where this tool should not be used or prerequisites.

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

  • Behavior3/5

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

    No annotations provided, so description must carry full burden. Describes modulating decay model but lacks details on side effects, permissions, reversibility, or limits. Adequate but not rich.

    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?

    Two concise sentences, no filler, front-loaded with key action and differentiation.

    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?

    Given moderate complexity (3 params, no output schema, no annotations), description covers purpose and differentiation but omits prerequisites and potential interactions. Largely complete.

    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%, baseline 3. Description mentions 'confirmation count and/or confidence' which maps to parameters but adds no new semantic detail beyond schema.

    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?

    Description specifies verb 'boost' and resource 'memory's decay resistance', with explicit differentiation from siblings refresh_entity and set_importance, making purpose crystal clear.

    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?

    Provides clear when-to-use by contrasting with refresh_entity and set_importance, but does not compare to other related tools like confirm_memory or forget_memory, leaving some usage ambiguity.

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

  • Behavior3/5

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

    Describes what it returns and its default scope, but does not explicitly state it is read-only or non-destructive. Without annotations, the description could clarify no side effects.

    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?

    Two short sentences with no filler, front-loading the action and adding a diagnostic tag.

    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?

    Provides essential information for a parameterless tool, though output type (integer) is implied but not explicit; adequate given simplicity.

    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?

    No parameters; baseline 4 applies as description does not need to add parameter details.

    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?

    Clearly states it returns the count of unique terms in the SpellChecker vocabulary, specifying the scope (entity names + tag values by default) and its diagnostic nature.

    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?

    Only mentions 'mostly diagnostic' as usage context, but does not specify when to use vs. other diagnostic tools like 'diag' or 'check_graph'.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses ranking logic (successRate × recency decay) and version, but doesn't mention side effects (likely read-only) or response format. Still provides meaningful behavioral context.

    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?

    Single sentence, efficient. Includes version and ranking detail; could drop version number but not wasteful. Front-loaded with key action.

    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?

    Adequate for a simple suggestion tool, but lacks output schema description. Agent may not know if result includes scores or just tool names. Missing details about result structure.

    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 covers all parameters (100%), but the description adds context: ranking formula explains the purpose of minScore and limit. Without this, parameters are just numeric with defaults.

    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?

    The description clearly states it suggests tools matching a task hint, with a specific ranking formula. This distinguishes it from siblings like search tools that return data, not tool recommendations.

    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?

    The description implies usage for tool suggestion but does not explicitly state when to use it versus alternatives (e.g., semantic_search or get_search_suggestions). No guidance on exclusions or prerequisites.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses that events without a resolvable actor are omitted, which is an important behavioral trait. However, it does not mention ordering, pagination, or whether it is read-only (likely safe). Still, it gives a clear model of the output.

    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?

    Two sentences: the first clearly states purpose and the second details output behavior. No filler, perfectly front-loaded, and every sentence earns its place.

    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?

    Given the tool's complexity (4 parameters, nested object, no output schema), the description adequately explains the core functionality and return format. It could mention default behavior for the 'limit' parameter, but overall it is complete enough for a query tool.

    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%, so baseline is 3. The description does not add additional meaning beyond what the schema already provides for each parameter. It only reiterates the overall purpose.

    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?

    The description uses a specific verb ('join') and resource ('recorded events') and directly answers a natural language query ('who did what...'). It clearly distinguishes itself from siblings by framing as a 'convenience join' over events, which is unique among the extensive sibling list.

    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?

    The description suggests when to use the tool (to answer a specific question), but does not explicitly mention when not to use it or how it compares to alternatives like query_events or search_by_time. The guidelines are implied but not fully explicit.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden and effectively discloses key behaviors: TTL-based, auto-expiration, and promotion capability. It does not contradict any annotations (none exist) and adds context beyond the schema.

    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?

    Two concise sentences, front-loaded with the primary action and key traits. No wasted words; every sentence adds value.

    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?

    Given 5 parameters, no output schema, and no annotations, the description is brief. It does not explain return values, error conditions, prerequisites (e.g., session existence), or how parameters like importance affect behavior. Adequate but with clear gaps.

    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 baseline is 3. The description adds no additional meaning to parameters (e.g., only mentions TTL, already in schema), thus meets baseline without exceeding it.

    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?

    The description clearly states the tool 'creates a TTL-based short-term working memory entry scoped to a session', using a specific verb ('create') and resource ('working memory entry'), and distinguishes it from siblings like 'promote_working_memory' for long-term storage.

    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?

    The description implicitly guides usage by specifying the tool is for short-term memory that auto-expires and can be promoted, but does not explicitly state when to avoid using it or mention alternatives beyond promotion.

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

  • Behavior4/5

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

    No annotations exist, so description carries full burden. It discloses that observations are resolved via ObservationManager and that errors occur when entity not found. It lists all returned data, but does not mention performance or rate limits, though these are less critical for a read tool.

    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 description is a single dense sentence that front-loads the purpose. It lists details efficiently, though it could be slightly more structured. No wasted words.

    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?

    Without an output schema, the description enumerates all key return fields (observations, relations, tags, etc.) and the error condition. It is sufficiently complete for a snapshot tool, though format is unspecified.

    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% with one parameter 'name' clearly described. The description adds no new parameter-specific details beyond confirming it's for one entity, so baseline 3 is appropriate.

    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?

    The description clearly states the tool provides a 'Verbose snapshot of one entity' and enumerates all included data (observations, relations, tags, importance, timestamps, parentId, children, ancestors). It differentiates from sibling tools like get_ancestors or get_children by offering a comprehensive overview.

    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?

    The description implies use when a complete entity overview is needed, but does not explicitly state when not to use or compare to alternatives. The listed contents guide the agent, but explicit usage context would improve.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It describes the effect of role assignment and optional constraints, but does not mention overwrite behavior, permission requirements, or side effects. Adequate but not exhaustive.

    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?

    Two sentences, front-loaded with the primary action. No wasted words, every part adds information. Perfectly concise.

    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?

    No output schema; description does not specify return value. For a moderately complex tool (7 params), it covers main behavior but lacks feedback on what the agent should expect as a result.

    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%, baseline 3. Description adds value by enumerating role names with their permission levels and explaining the effect of resourceType, scope, and validUntil beyond schema descriptions.

    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?

    Description uses specific verb 'Grant a role to an agent' and lists roles with explicit permissions. Clearly distinguishes from siblings like rbac_revoke_role and rbac_check_permission by naming the action and scope.

    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?

    Explains when to use optional parameters (resourceType, scope, validUntil) to narrow or expire grants. Does not explicitly state when not to use or compare to alternatives, but context is clear.

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

  • Behavior4/5

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

    No annotations exist, so the description carries full burden. It discloses the return format ({blocked, ruleId?, reason?}) and the filtering of past-only rules. It does not detail permissions, error handling, or side effects, but the core behavior is transparent.

    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?

    Two sentences with no waste: first sentence gives version, action, resource; second gives return shape and a key behavioral note. Front-loaded and efficient.

    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?

    Given no output schema, the description includes the return structure. It covers the main behavior (checking forward-blocking rules, skipping past-only). Minor gaps like error conditions could be added, but it is sufficient for a straightforward check tool.

    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 baseline is 3. The description does not add additional parameter details beyond the schema's own descriptions ('Content to test', 'Optional entityType'), but the context of 'forward-blocking rule' and past-only rules provides some extra meaning, keeping the score at 3.

    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?

    The description clearly states the action 'Check whether content would be blocked', specifies the resource ('any active forward-blocking rule'), and distinguishes from siblings like add_exclusion_rule (adds rules) and list_exclusion_rules (lists rules). The return shape is also given.

    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?

    The description implies usage when wanting to test content against forward-blocking rules and notes that past-only rules are skipped. It provides context but does not explicitly state when not to use or mention alternatives, though the sibling tools make this clear.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool boosts confidence without timestamp reset, but does not mention any bounds (e.g., maximum confidence), side effects, error conditions, or permission requirements. This is adequate but could be more explicit about operational limits.

    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?

    The description is two sentences with no extraneous information. It front-loads the primary purpose and immediately distinguishes from a sibling. Every word adds value.

    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?

    Given the simplicity of the operation (a single numeric boost), no output schema, and clear differentiation from siblings, the description is largely complete. It could mention return values or status feedback, but the core behavior is well-covered.

    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% (both parameters are documented). The description adds no additional meaning beyond the schema; it does not elaborate on the parameters or their formats. Baseline 3 is appropriate.

    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?

    The description clearly states the tool boosts a memory's confidence score without resetting its timestamp, and distinguishes it from refresh_entity, which resets to 1.0. It uses a specific verb (boost) and resource (memory's confidence score) with explicit differentiation.

    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?

    The description provides an explicit alternative (refresh_entity) and explains when to use this tool (incremental increase) versus when not (if resetting to 1.0 is desired). This gives clear guidance on selection among siblings.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It explains what types of conflicts are detected and mentions negation prefixes. However, it does not explicitly state that the tool is read-only (non-destructive) or describe any side effects, computational costs, or limits. The version number is extra but not essential.

    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?

    Two sentences: first states version and general purpose, second adds specifics. Every phrase earns its place. No redundancy or fluff.

    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?

    No output schema, and the description does not specify the return format or structure (e.g., list of conflicts, summary statistics, or nothing if none found). For a detection tool, output details are important for downstream use. Otherwise, it covers the detection logic adequately.

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

    Parameters5/5

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

    No parameters exist (schema is empty with 100% coverage). The description adds no parameter info but none is needed. Baseline for 0 parameters is 4, and this exceeds by being clear about the tool's stateless input requirements.

    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?

    Clearly states it detects pair-wise overlap and contradiction across stored heuristics, with specific definitions (same condition tokens + different actions for overlap; opposing actions on overlapping conditions with negation prefixes for contradiction). Distinguishes from siblings like 'detect_contradictions' by targeting heuristics specifically.

    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?

    Does not explicitly state when to use this tool versus alternatives like 'detect_contradictions' or 'match_heuristics'. Usage is implied (when checking heuristic consistency), but no guidance on when not to use it or what prerequisites exist.

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

  • Behavior4/5

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

    Without annotations, the description carries full burden. It discloses key behavioral traits: the tool is a read-only preview (non-persisting), returning matching entities. This adds value beyond the schema by clarifying the non-destructive nature.

    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?

    Two succinct sentences: first defines purpose, second clarifies non-persistence. No unnecessary information, front-loaded with key action.

    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?

    Given the simple preview function, no output schema, and full schema coverage, the description covers essential aspects: what it does, what it returns, and that it does not save. It could mention matching semantics (substring/exact) but overall adequate.

    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% with descriptions for both parameters. The description adds minimal extra meaning beyond calling it a 'candidate exclusion pattern,' but no further details on usage or constraints. Baseline 3 is appropriate.

    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?

    The description clearly states 'Dry-run preview: return entities whose observations would match the candidate exclusion pattern' with a specific verb ('return'), resource ('entities'), and scope ('matching candidate exclusion pattern'). It distinguishes from sibling tools like add_exclusion_rule by explicitly noting it does NOT persist.

    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?

    The description provides explicit context: 'Dry-run preview' and 'Does NOT persist the rule,' implying it should be used before adding a rule to test matches. It does not explicitly state when not to use it or name alternatives, but the context is clear.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the destructive action ('Bulk-delete'), but does not elaborate on side effects, reversibility, or performance impact. The dryRun parameter is noted in schema but not highlighted for safety. Adequate but lacks deeper behavioral context.

    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?

    Two sentences with no wasted words: first sentence defines action and resource, second sentence differentiates from siblings. Front-loaded with key information. Every sentence earns its place.

    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?

    Given the tool's moderate complexity (3 optional parameters, no output schema), the description and schema together provide sufficient information for an agent to decide when to invoke. It lacks detail on return values or confirmation, but is otherwise complete. Slight room for improvement by stating what the tool returns.

    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 baseline is 3. The description adds no additional parameter-specific meaning beyond what the schema already provides (e.g., threshold meaning, maxCount limits). No extra value from description.

    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?

    The description clearly states the tool's action: 'Bulk-delete memories that fell below a decay threshold' with specific verb 'delete' and resource 'memories'. It distinguishes from siblings 'forget_memory' and 'archive_entities' by naming them and contrasting the mechanism (decay-based vs. content match or criteria-based move).

    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?

    The description explicitly tells when to use this tool vs. alternatives by stating 'Unlike forget_memory (content match) or archive_entities (criteria-based move), this uses decay-based importance scoring.' This gives clear guidance on selection criteria.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It states what the tool returns but omits behavioral details like error handling, permissions, or side effects. However, for a simple read operation, minimal disclosure is acceptable.

    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?

    Two sentences, highly efficient: first states purpose, second differentiates from sibling. No fluff, front-loaded with key information.

    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?

    No output schema exists, but description outlines return content (salience weights, retrieval strategy) and contrasts with a sibling tool. Sufficient for a simple getter with one parameter; slightly incomplete due to lack of details on error conditions.

    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% with one parameter described as 'Profile name to retrieve'. The description does not add additional semantics beyond the schema, meeting baseline for high coverage.

    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?

    Description clearly states it gets a ContextWindowManager profile configuration with specific details (salience weights, retrieval strategy) and explicitly distinguishes from sibling tool get_profile, which returns user profile facts.

    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?

    Explicitly contrasts with get_profile, telling the agent when to use this tool (for context-aware retrieval settings) versus when to use the sibling (for user profile facts), providing clear differentiation.

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

  • Behavior4/5

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

    With no annotations, the description provides behavioral details: backward traversal, oldest-first ordering, cycle protection. This adds context beyond the input schema, though does not mention side effects or required permissions.

    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?

    Two concise sentences: first explains the action (walk backward), second describes the output (oldest-first, cycle-protected). No wasted words.

    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?

    Given one parameter, no output schema, and no annotations, the description covers input, algorithm, output order, and safety. Could mention error handling for invalid IDs, but not critical for a simple traversal.

    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% with a clear description for 'id'. The description reinforces that the id is 'Any DecisionId in the chain' but adds little new meaning beyond 'from the supplied id'. Baseline 3 is appropriate.

    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?

    The description clearly states the tool traverses the supersedes link backward to the original proposal, with specific return order and cycle protection. This distinguishes it from sibling tools like get_version_chain or get_ancestors by specifying the exact link type.

    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?

    While not explicitly stating alternatives, the description implies when to use: for tracing decision supersession chains. Mentioning 'supersedes link' and 'original proposal' hints at the specific use case, but could be stronger with direct comparison to other traversal tools.

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

  • Behavior4/5

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

    With no annotations, description provides key behavioral traits: sorting by version number ascending and automatic root resolution. It does not cover error handling or output format, but for a simple retrieval tool, this is sufficient.

    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?

    Two sentences, front-loaded with the core purpose. Every sentence adds value with no wasted words.

    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?

    Given no output schema, description explains return value (versions sorted ascending) and behavior (resolves root). It could mention pagination or limits, but for a simple list tool, it is fairly complete.

    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% with a clear parameter description. Description adds no additional meaning beyond what is already in the schema.

    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?

    Description clearly states the action (get all versions), resource (entity version chain), and key behavior (sorted ascending, resolves to root). Distinguishes from siblings by focusing on version chain and automatic root resolution.

    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?

    Explicitly states that it works from any entity in the chain, guiding when to use. However, it does not mention when not to use or provide alternatives, such as comparing to get_entity_versions.

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

  • Behavior3/5

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

    With no annotations provided, description adds context on return format (ok flag + durationMs) and scoping. But it does not disclose potential blocking, locking, or concurrency implications of rebuilding indexes.

    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?

    Single sentence that efficiently conveys purpose, version, behavioral details, parameter usage, and return value. No wasted words, front-loaded with key action.

    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?

    Given no output schema, description adequately specifies return format. Lacks details on potential side effects or prerequisites, but for a maintenance operation with simple boolean params, it is mostly 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 already describes both boolean parameters with defaults (coverage 100%). Description adds value by explaining how to 'scope' the rebuild by passing false, which is not apparent from 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?

    Description clearly states verb 'Rebuild' and resource 'search-side indexes (TF-IDF/BM25 ranked + spell-checker vocabulary)'. It distinguishes from sibling 'spell_rebuild_vocabulary' by offering a combined reindex operation with optional scoping.

    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?

    Description implies usage when indexes may have drifted and explains how to scope using parameters. However, it does not explicitly exclude calling separate tools or provide 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.

  • Behavior4/5

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

    Without annotations, the description provides good behavioral insight by listing possible return values like 'already-rejected' (idempotency), 'conflict' (concurrency issues), and 'vanished-mid-update' (race conditions). However, it does not disclose authorization needs or side effects.

    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?

    The description is a single sentence followed by a compact list of return values. Every part is informative, and the most important information (purpose and outcomes) is front-loaded.

    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?

    Given no output schema and limited complexity, the description sufficiently covers purpose, parameters, and return statuses. It could elaborate on the meaning of each status, but overall it provides a complete picture for a simple state-transition tool.

    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% with basic descriptions. The description adds context about the reason parameter being required and the return format being status strings, which enhances understanding beyond the schema.

    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?

    The description clearly states the tool's function: transitioning a proposed decision to rejected with a reason. It specifies the verb 'Transition' and the resource 'proposed decision', and distinguishes it from siblings like 'accept_decision' and 'supersede_decision' by focusing on rejection.

    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?

    The description does not explicitly state when to use this tool versus alternatives. It lists possible return statuses (e.g., 'illegal-transition') which imply conditions, but lacks direct guidance on prerequisites or when not to use it.

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

  • Behavior4/5

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

    Without annotations, the description carries the full burden. It discloses the auto-promotion side effect (stamps agentId/memoryType/etc.) and explains the time-window and role gate behaviors. However, it does not mention failure modes, permission requirements, or reversibility.

    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?

    Two sentences, no wasted words. Critical information is front-loaded: purpose, then auto-promotion, then extensions. Every sentence adds value.

    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?

    Given the tool has 6 parameters (3 required), no output schema, and no annotations, the description covers the core behavior and extension parameters well. It might benefit from mentioning return value or side effects, but it is sufficiently complete for an access control mutation.

    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?

    With 100% schema description coverage, baseline is 3. The description adds context by explaining the η.5.5.b extensions (allowedRoles, visibleFrom, visibleUntil) and the auto-promotion behavior that relates to the agentId parameter. This additional semantic information improves over 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?

    The description clearly states the tool sets visibility of a memory entity for multi-agent access control. It specifies the auto-promotion behavior and the η.5.5.b extensions. The title and description together uniquely identify the tool's action and resource, and no sibling tool duplicates this function.

    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?

    The description implies usage when controlling multi-agent access, but it does not explicitly state when to use this tool versus alternatives like 'get_visible_memories' or 'rbac_*' tools. No exclusions or when-not-to-use guidance is provided.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses that the tool forces a rebuild (potentially expensive or destructive) and contrasts with lazy caching. However, it does not mention idempotency, blocking behavior, or side effects on concurrent operations.

    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?

    Two sentences, each serving a purpose: first states action and version, second provides usage context. No wasted words.

    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 zero-parameter tool with no output schema, the description adequately covers purpose and usage context. It explains when to call it and the lazy cache baseline. Missing return value info, but acceptable for a trigger tool.

    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?

    No parameters, so baseline is 4. The description adds meaning by explaining the tool's purpose and usage context, compensating for the empty schema.

    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?

    Description clearly states the tool forces a rebuild of SpellChecker vocabulary and n-gram index. The verb 'rebuild' and resource 'vocabulary + n-gram index' are specific. It distinguishes from siblings like spell_suggest and spell_vocabulary_size.

    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?

    Explicit guidance: 'Call after bulk entity churn; the lazy cache is otherwise correct for low-churn graphs.' This indicates when to use (after bulk churn) and implies when not (low-churn), but does not name specific alternative tools.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It accurately describes the tool as non-destructive and purely diagnostic. Could explicitly state it's read-only, but the description is sufficient.

    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?

    Single sentence that is concise and front-loaded with important information. No redundant words.

    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 no-parameter, simple diagnostic tool, the description is mostly complete. However, it doesn't specify the return format (e.g., plain number or JSON). Given the simplicity, this is a minor gap.

    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?

    No parameters required. Schema coverage is 100% (0 params). Description adds value by explaining the meaning of 'in-flight' (started but not completed), which helps the agent understand the metric.

    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?

    Description clearly states it's a diagnostic that returns the number of in-flight (started but not yet completed) tool-call observations. Uses specific verb+resource and distinguishes itself from sibling observation tools.

    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?

    No explicit when-to-use or alternatives mentioned. However, as a diagnostic tool, its usage is implied for monitoring. Lacks guidance on when not to use or comparison with similar tools like 'health' or 'diag'.

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

  • Behavior4/5

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

    With no annotations, the description fully discloses: it reports findings, with apply=true it deletes orphan relations and clears missing parentIds, but cycles are never auto-repaired. It does not detail response format or permissions, but the core behavioral traits are well-covered.

    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?

    The description is extremely concise, using two sentences to pack purpose, capabilities, and limitations. It front-loads the core detection task and immediately follows with conditions and caveats. No wasted words.

    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?

    The tool has no output schema, so the description should ideally characterize the report format. It only says 'Reports findings' without structure. It also omits safety or permission context, though the non-destructive default partially compensates. Adequate for a simple tool but 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 100% for the single boolean parameter 'apply', but the description adds value beyond the schema's simple 'repair' description by specifying exactly what actions are taken (deletes orphan relations, clears missing parentIds) and what remains unchanged (cycles). This clarifies the parameter's impact.

    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?

    The description clearly states the tool detects orphan relations, missing parents, and hierarchy cycles, and optionally repairs the first two. This verb+resource combination is distinctive among siblings like validate_graph (which likely only validates) and detect_patterns (different focus).

    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?

    The description explicitly says when to use: to detect/fix graph integrity. It notes the default dry-run behavior and, crucially, that cycles are never auto-repaired, guiding the agent on what not to expect. It lacks explicit comparisons to alternatives but the context is clear.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses deletion behavior, matching strategy, threshold, and dryRun support. It does not mention reversibility or permissions, but this is acceptable for a delete 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?

    Two sentences pack all essential information: action, matching logic, fallback, and dryRun. No redundancy; every sentence earns its place.

    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?

    The description lacks information about return values, especially for non-dryRun deletes. With no output schema, the agent cannot infer what response to expect after deletion.

    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 baseline is 3. The description adds value by explaining the matching strategy (exact then semantic) and the role of 'content' and 'threshold', going beyond schema descriptions.

    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?

    The description clearly states the tool's action: 'Forget (delete) observations matching the given content.' It specifies the unique matching strategy (exact then semantic) and distinguishes it from siblings like delete_observations by focusing on content-based deletion.

    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?

    The description hints at when to use the tool (content matching with fallback) and supports dryRun for preview. However, it does not explicitly say when not to use it or compare with alternatives like delete_observations.

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

  • Behavior4/5

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

    No annotations provided; description transparently explains behavior (getter, returns project ID or null) and adds context about the return structure. Adequate for a simple read operation.

    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?

    Single sentence that is well-structured, front-loaded with purpose, and includes return format. No wasted words.

    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?

    Completeness is high for a simple, parameterless tool. Return value explained clearly. No output schema needed.

    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?

    No parameters; schema coverage is 100%. Description adds meaning by describing the return object structure and null case. Baseline of 4 is appropriate.

    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?

    Clearly states it returns the active project scope for the server session, distinguishes it from sibling tools like 'set_project_scope'. Includes return format and null case.

    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?

    Implied usage for retrieving the current project scope set by 'set_project_scope', but no explicit guidance on when to use this vs. other context-related tools.

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

  • Behavior4/5

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

    No annotations present, so description carries full burden. It details the checks performed, output format (per-check duration, ok flag), and states it's non-destructive. Could clarify if it modifies state.

    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?

    Single sentence with version, purpose, list of checks, and return format. Efficiently front-loaded.

    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?

    Zero parameters and no output schema, but description explains the checks and output sufficiently for an integrity check tool.

    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?

    No parameters; by rule baseline is 4. Description adds context about what the tool does without needing params.

    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?

    Description clearly states it performs integrity checks with specific check names (storage:loadGraph, etc.). Distinguishes itself from many sibling tools by being a diagnostic health check.

    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?

    Implied usage for checking system integrity, but no explicit guidance on when to use this versus alternative diagnostic tools like check_graph or diag.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses the key behavioral traits: it replaces the current in-memory graph, writes from a specific sidecar file, and errors if the file is absent. However, it does not mention potential side effects on other memory structures or validation behavior, which slightly reduces transparency.

    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?

    The description is a single, compact sentence that front-loads the core action and includes all critical details (source file, effect, error condition). There is no superfluous content; every part is necessary.

    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?

    Given zero parameters and no output schema, the description fully covers the tool's behavior: what it restores, from where, the replacement action, and the error case. No additional context is required for correct invocation.

    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?

    The tool has zero parameters, and schema coverage is 100%. The description adds no parameter detail beyond the schema, but since there are no parameters, this is acceptable. A score of 4 reflects that no additional parameter information is needed.

    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?

    The description clearly states the tool's purpose: restoring a reconstructive graph from a sidecar file, replacing the current in-memory graph, and erroring if the file is missing. It specifically names the source ('<basename>-reconstructive.json') and the sister tool ('save_reconstructive_memory'), providing clear differentiation.

    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?

    The description implies usage context (restoring a previously saved graph) but does not explicitly state when to use this tool versus alternatives like reconstruct_memory or other memory restoration tools. No exclusions or alternative recommendations are provided, leaving some ambiguity.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: removing a rule does not affect previously deleted memories. This is important for an agent to understand the tool's side effects. However, it does not mention whether the operation is reversible or any permissions required.

    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?

    The description is extremely concise at two sentences, with no wasted words. It leads with a version indicator and immediately states the action and scope. Every sentence adds value.

    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?

    For a simple delete-by-id tool with no output schema, the description is complete. It covers the action, the resource, the id requirement, and a critical behavioral caveat (no memory restoration). No additional context is necessary given the tool's simplicity.

    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% for the single parameter 'id', and the schema already provides a clear description ('Rule id (exclusion-...)'). The tool description adds no additional parameter-level details beyond what the schema offers, so baseline score is appropriate.

    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?

    The description uses the specific verb 'Drop' and identifies the resource as 'exclusion rule by id'. It clearly distinguishes this removal operation from sibling tools like add_exclusion_rule or list_exclusion_rules.

    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?

    The description explicitly states what the tool does not do ('Does NOT restore previously deleted memories') and explains the contract ('user said forget'). This provides valuable usage context, though it could be more explicit about when to use this tool versus alternatives like forget_memory.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses the tool is a read-only diagnostic snapshot without destructive effects, and lists the returned information. Could benefit from mentioning rate limits or auth requirements, but for a simple diagnostic it is adequate.

    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?

    Two sentences with zero waste: first sentence lists content, second sentence gives usage advice. Front-loaded with key information. Every sentence earns its place.

    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?

    Given no parameters, output schema, or annotations, the description covers the essential: what the tool returns, its version, and a usage suggestion. Could specify output format (e.g., JSON), but the mention of 'ISO timestamp' implies a structured response. Complete enough for its simplicity.

    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?

    No parameters exist (0 params, 100% schema coverage). Baseline for zero parameters is 4. The description adds no parameter info because none are needed.

    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?

    The description clearly states it's a 'runtime + storage diagnostic snapshot' and lists specific data included (node version, platform, storage path/type/size, entity+relation counts, ISO timestamp). This distinguishes it from sibling diagnostic tools like 'health' (simpler) or 'graph_size' (single metric).

    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?

    Explicitly recommends it as a 'good first call when something feels off', giving clear when-to-use guidance. However, it does not mention when not to use it or suggest alternative sibling tools for specific diagnostic needs.

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

  • Behavior4/5

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

    No annotations provided, so description bears full burden. It discloses that the tool drops an observation without recording and is a no-op for unknown IDs. Sufficient for a simple cancel operation.

    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?

    Extremely concise: one sentence plus version and clarifier. No wasted words; every part adds value.

    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?

    Given no output schema and one parameter, description covers purpose and basic behavior. Could mention prerequisite that observation must be in-flight, but implied by 'in-flight observation'.

    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?

    Single parameter callId has no schema description (0% coverage). Description adds meaning by explaining its role (identifier of the observation to cancel) and behavior on unknown values.

    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?

    Description clearly states the tool cancels an in-flight observation without recording, with an example ('user cancelled') and behavior on unknown callId (no-op). This distinguishes it from siblings like observe_tool_complete or observe_tool_error.

    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?

    Description implies usage context (cancel without recording) and notes no-op on unknown callId, but does not explicitly compare to alternatives or state when not to use.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It clearly discloses the filtering behavior (only relations meeting the condition) and implies read-only operation via 'time-travel query.' It does not mention error handling or performance, but the core behavior is well-covered.

    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?

    Two sentences deliver the purpose, the filtering condition, and a domain label. No redundant or vague wording; every word adds value.

    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?

    The description is succinct but covers the essential temporal query logic. Lacking details about return format (e.g., relation details), but the tool's name and context make this a minor gap. Adequate for a straightforward query tool.

    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 baseline is 3. The description adds meaning by explaining how the asOf parameter interacts with validFrom/validUntil fields, providing context beyond the schema's basic type description.

    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?

    The description precisely states 'Query relations valid at a specific point in time' and provides the exact temporal condition (validFrom <= date AND (validUntil undefined OR validUntil >= date)). It also labels it as 'Time-travel query for temporal knowledge graphs,' clearly distinguishing it from sibling tools like entity_as_of or timeline.

    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?

    The description implies when to use this tool (when you need relations valid at a specific date) without explicitly stating alternatives. Given the sibling context, an agent can infer that this is for relation-level temporal queries, distinct from entity-level time queries or event timelines.

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

  • Behavior5/5

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

    Describes key behaviors: idempotent, no deletion, entity_as_of still returns past timestamps. With no annotations, this description fully informs the agent of the tool's effects.

    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?

    Three concise sentences with no fluff. Each sentence adds distinct value: purpose, idempotence/non-deletion, orthogonality to supersession.

    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?

    For a simple tool with two params and no output schema, the description covers all necessary behavioral aspects. No gaps identified.

    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%, baseline applies. Description does not add parameter-specific details beyond schema; mentions setting validUntil but doesn't elaborate on 'ended' parameter.

    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?

    Description clearly states the tool marks an entity as invalid by setting validUntil. It specifies the verb 'mark' and resource 'entity', and differentiates from deletion and supersession among many siblings.

    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?

    Implicitly guides usage by stating idempotence and non-deletion behavior, contrasting with supersession. Lacks explicit 'when to use' or 'alternatives' but context from siblings is leveraged.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses that the tool is read-only (returns data without side effects), specifies output format (sorted array), and mentions exclusions. This is sufficient for a simple retrieval tool, though it could mention any latency or data staleness.

    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?

    The description is a single, front-loaded sentence that conveys purpose, scope, and output format without any wasted words. Every element serves a purpose, making it highly efficient.

    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?

    Given there is no output schema, the description provides a complete picture of the tool's behavior: list distinct project IDs, sorted, excluding global/unscoped. This is sufficient for an agent to correctly invoke and interpret the tool's results.

    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?

    The tool has zero parameters, so the schema coverage is 100% and the description need not add parameter details. The description adds value by clarifying the output format and scope (sorted array, exclusions), which compensates for the lack of output schema.

    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?

    The description clearly states the tool lists distinct project IDs from the knowledge graph, specifies a sorted array output, and excludes global/unscoped entities. This specific verb-resource combination differentiates it from sibling tools that handle other entities or operations.

    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?

    The description implies usage for retrieving project IDs, but does not explicitly state when to use this tool versus alternatives like set_project_scope or get_project_scope. However, the context of sibling tools and the straightforward nature of the operation make the intended use clear.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. Discloses sidecar file naming, process-local nature, and persistence purpose. Could mention overwrite behavior but overall transparent.

    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?

    Two sentences, highly concise. First sentence states action and output format, second provides usage context. No wasted words.

    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?

    Given no parameters, no output schema, and a simple save operation, the description is complete. Tells what, where, and why. Sibling load tool complements.

    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?

    Input schema has zero parameters, so baseline is 4. Description adds no param info as none exist. Schema coverage is 100%, so no gap.

    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?

    Description clearly states the action: serialize the in-memory CTC graph to a JSON sidecar file with explicit naming pattern. Distinguishes from siblings like 'load_reconstructive_memory' which loads the graph.

    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?

    Explicitly states when to use: 'save before shutdown to survive restarts'. Provides clear context but does not mention when not to use or list alternatives beyond implicit sibling differentiation.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits. It explains the auto-stamping behavior, session persistence, and clearing mechanism, and specifies the return value. It does not cover potential errors or permissions, but given the tool's simplicity, this is adequate.

    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?

    The description is concise: two sentences that state the primary action, explain the auto-stamping implication, and define clearing behavior with return value. No extraneous information, every sentence is necessary and front-loaded.

    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?

    For a simple tool with one parameter, no output schema, and no annotations, the description covers the essential aspects: what it does, its effect (session-scoped auto-stamping), clearing behavior, and return value. It is sufficiently complete for an agent to use correctly.

    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 baseline is 3. The description adds value by explaining the purpose of the parameter beyond the schema: it clarifies that empty string clears the scope and that the parameter sets the default for new entities. This provides semantic context that helps the agent understand when to use specific values.

    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?

    The description clearly states the tool's action: 'Set the active project scope for this server session.' It specifies the resource (project scope) and the scope of effect (session). It also distinguishes from sibling tools like get_project_scope (read-only) and clear_project_context (broader clearing) by focusing on setting a specific scope with auto-stamping behavior.

    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?

    The description provides explicit guidance on when to use the tool: to set a default project for subsequent operations that lack an explicit projectId, and to clear the scope by passing an empty string. However, it does not mention alternative tools or when not to use it, which would make it a 5.

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

  • Behavior5/5

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

    No annotations are provided, so the description bears full responsibility. It clearly states the tool is non-mutating (dry-run) and details the two detection tiers, offering complete behavioral insight without ambiguity.

    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?

    Three concise sentences: each serves a distinct purpose—announcing the tool, explaining the tiers, and clarifying non-mutation. No filler, front-loaded with key information.

    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?

    Given zero parameters and no output schema, the description covers the tool's purpose and behavior well. However, it does not hint at the output format or how to interpret the report, which would enhance completeness.

    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?

    The input schema has zero parameters with 100% coverage, so no parameter documentation is needed. Per guidelines, baseline for 0 params is 4, and the description adds no parameter info, which is appropriate.

    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?

    The description specifies that the tool analyzes duplicate relations in a three-tier process, clearly distinguishing it from sibling tools like find_duplicates (which likely targets entities) and consolidate_relations (which may merge). The verb 'analyze' and the detailed tier breakdown provide precise purpose.

    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?

    The description explicitly states 'Report-only — never mutates the graph,' indicating it is safe for dry-run analysis. It implies use for detecting duplicates before cleaning, but does not contrast with alternative tools or specify when not to use it.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It states the tool lists all built-in profiles and includes specific configurations. It does not mention read-only status or side effects, but for a list tool this is acceptable. No contradictions.

    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?

    The description is a single, front-loaded sentence that conveys the action and data without any wasted words. Every character provides value.

    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?

    Given no parameters, no output schema, and a straightforward listing purpose, the description fully informs the agent about what the tool does and what information it returns (salience weight and context budget). No gaps.

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

    Parameters5/5

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

    The input schema has zero parameters, and description coverage is 100%. The description does not need to add parameter info, and it does not attempt to. This is appropriately handled.

    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?

    The description clearly states the action 'list', the resource 'built-in role profiles', and the specific attributes included (salience weight and context budget configurations). This distinguishes it from sibling tools like get_profile or update_profile.

    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?

    The description explicitly says 'List all built-in role profiles', indicating it is a comprehensive listing. While no when-not-to-use or alternative tools are mentioned, the context is clear for a simple list operation.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses that the tool detects entity mentions and suggests cross-reference relations. While it doesn't detail side effects or whether suggestions are automatic, the behavior is reasonably clear for a detection 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?

    Two sentences with no redundancy. Front-loaded with action and key differentiator.

    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?

    Simple tool with one parameter and clear purpose. Description fully covers what the tool does and how it differs from a sibling, without needing output schema or additional details.

    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 100% with description for 'text' parameter. Description adds context that the tool scans for entity mentions and suggests relations, going beyond the schema's simple description. Score above baseline 3 due to added value.

    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?

    Describes specific verb (detect, suggest) and resource (observation text, cross-reference relations). Explicitly distinguishes from sibling normalize_observations by stating it finds entity name mentions rather than resolving pronouns/dates.

    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?

    Explicitly states when to use this tool vs normalize_observations, providing a clear alternative for cross-referencing entity mentions.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses the merging behavior: 'delete variants, create the canonical survivor with summed confirmationCount.' This transparently describes the destructive action and the survivor creation. However, it lacks mention of specific permissions or error handling, but the main behavioral traits are well covered.

    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?

    The description is two sentences, elegantly efficient. The first sentence front-loads the core action and key behavior, and the second clarifies the default and ties to the sibling tool. Every sentence adds value without redundancy.

    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?

    Given one parameter and no output schema, the description explains the tool's purpose and behavior adequately. It could mention what the output looks like for the dry-run case, but the context signals suggest simplicity. Overall, it is complete enough for an agent to use correctly.

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

    Parameters5/5

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

    There is only one parameter, 'apply,' with schema coverage 100%. The description adds significant meaning beyond the schema: 'Apply tier 1+2 merges (default false = dry-run).' It clarifies the default behavior and introduces the 'dry-run' concept, which is not in the schema. This fully compensates the single parameter.

    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?

    The description clearly states the tool's action: 'Run relation-duplicate analysis and — when apply=true — merge tier 1+2 duplicate groups (delete variants, create the canonical survivor with summed confirmationCount).' It explicitly distinguishes from the sibling tool 'analyze_relation_duplicates' by noting that apply=false is identical. This provides a specific verb and resource with clear scope.

    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?

    The description explicitly tells when to use this tool: when you want to apply merges (apply=true) or when you want a dry-run that is identical to analyze_relation_duplicates (apply=false). It effectively distinguishes between this tool and its sibling, providing clear context for selection.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

memory-mcp MCP server

Copy to your README.md:

Score Badge

memory-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielsimonjr/memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server