Skip to main content
Glama

WhiteMagic — governed local memory for agent continuity

System 0.5 Route Shortlist (Static Embeddings)

decision.shortlist
Idempotent

Rank candidate routes/actions for a state with the local static-embedding retrieval organ (no network, no model forward pass) and emit a signed shortlist receipt. (READ-ONLY: mutations refused)

Input Schema

NameRequiredDescriptionDefault
kNoShortlist size (default 5)
stateYesState to retrieve candidates for (text or JSON)
routesNoCandidate set: {name: description} or {name: [utterances...]}; multi-utterance routes score by best match
cascadeNoIf ambiguous, cascade to System 1.5 Deliberator (default true)
tenant_idNoTenant id for the shortlist receipt (default: local)
session_idNoSession id for the shortlist receipt
task_classNoTask class (e.g. route_dispatch)
catalog_pathNoPath to a JSON file with {name: description}; used when `routes` is absent
emit_receiptNoWrite a signed shortlist receipt to <store>/receipts (default true)
margin_thresholdNoBelow this top1-top2 margin the gate is 'ambiguous' (default 0.02)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare idempotent=true, destructive=false, openWorld=false, but the description adds genuinely new context: fully local execution (no network), no model forward pass, and emission of a signed receipt. The '(READ-ONLY: mutations refused)' framing sits in tension with readOnlyHint=false, though it is reconcilable — the only write is the receipt file, which the description does disclose.

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 dense, front-loaded sentences: capability first, behavioral constraints second. Nothing is wasted, though the trailing '(READ-ONLY: mutations refused)' parenthesis is the least informative part and introduces ambiguity given the receipt write.

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 10-parameter tool with no output schema, the description should say more about what comes back than 'a signed shortlist receipt' — e.g. whether ranked names, scores, and the top1-top2 margin/gate verdict are returned. The ambiguity gate behavior is only discoverable through the `margin_threshold` parameter description.

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% (k, state, routes, cascade, margin_threshold, emit_receipt all documented), so the schema carries parameter semantics and a baseline 3 applies. The description adds no parameter-level detail of its own, such as how `k` interacts with the ambiguity gate or what 'best match' scoring means numerically.

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 a specific verb and resource ('Rank candidate routes/actions for a state') plus the mechanism ('local static-embedding retrieval organ') and the side output ('signed shortlist receipt'). An agent can tell this is a cheap retrieval/ranking step, but the description itself never names a sibling (e.g. decision.deliberate) to contrast against — that contrast only appears in the `cascade` schema field.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'no network, no model forward pass' signals a fast first-pass router, and 'cascade to System 1.5 Deliberator' (in the schema) hints at the escalation path. However, the description gives no explicit when-to-use / when-not-to-use rule versus decision.deliberate, sutra.route, or mandala.evaluate.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources