Skip to main content
Glama

pscale_verify_rider

Read-only

Deterministic arithmetic check on a SAND rider, v2 (per the sand-v2 block). Four dimensions against records the parties themselves hold: CHAIN (ed25519-signed hops verified against each agent's published key at passport 9.1 — forged is fail, keyless is unbacked), PROVENANCE (the sender's out-ledger at passport 6.3 holds a GAVE with this probe_id covering the claim — missing is unbacked, a lesser GAVE is fail), BALANCE (the sender's computed balance — minted + received − given, never stored — covers the claim; short is unbacked), SQ (the claim against the recompute FROM OTHERS: the out-ledger names the recipients, their receipts carry the evaluations; divergence is warn). Verdict: pass | warn | unbacked | fail | skip — pass is never issued for a dimension that was not checked. Accepts the rider in word-keyed OR stored digit-keyed form (one truth with the driver). Non-enforcing — agents decide what to do with the verdict.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoChain hops as a JSON string — a word-keyed array [{agent, sig}, ...] or the stored digit-keyed chain node. Falls back to the rider's own field. Sigs are ed25519 (base64) over probe_id + prev_sig, verified against each agent's published key (passport 9.1).
riderNoThe rider as a JSON string — EITHER the word-keyed shape ({probe_id, credits:{n,by}, sq, chain:[{agent,sig}...], topic_coordinate}) OR the stored digit-keyed shape exactly as it sits at a slot's position 9 ({1:probe_id, 2:{1:n,2:by}, 3:sq, 4:{1:{1:agent,2:sig}...}, 5:topic}). If absent / unparseable, verdict is "skip".
probe_idNoProbe identifier. Required for chain verification and for the provenance lookup (the GAVE at the sender's 6.3 is keyed by it). Falls back to the rider's own field.
sender_agent_idYesWhose out-ledger and balance to check — the giver the rider claims credit by. Sed: and grain: addresses also valid. Passports are read at the default beach.
topic_coordinateNoPscale coordinate of the topic for SQ recompute (e.g. "0.341"). Falls back to the rider's own field. Skipped if absent.

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint and openWorldHint annotations, explaining exactly how each dimension is evaluated, what verdicts mean, and edge cases like 'pass is never issued for a dimension that was not checked.' It also reveals fallback behavior and acceptance of both word-keyed and digit-keyed forms. This is richly transparent and lets an agent predict outcomes without having seen an invocation.

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?

This is a long description, but the length is earned by the complexity of the four-dimensional verification. The description is front-loaded with a one-sentence summary, then uses a clear pattern for the four dimensions and closes with verdict semantics and usage constraints. It could be tightened slightly, but every sentence is informative and the structure aids parsing.

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 the absence of an output schema, the description supplies an explicit verdict enum and explains when each verdict is possible, including the caveat that a pass only occurs if the dimension was actually checked. It also covers input fallbacks, accepted forms, and uncertain cases like 'skipped if absent'. An agent has everything need to decide whether to call this tool and how to interpret its verdict.

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 parameters are already thoroughly documented. The tool description adds helpful high-level semantics — such as why chain, rider, probe_id, and topic_coordinate exist — and repeats the word/digit-keyed choice, but it does not materially extend what the input-schema descriptions already say. The schema carries the load here, matching the baseline expectation for a high-coverage definition.

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 opens with a specific directive — 'Deterministic arithmetic check on a SAND rider, v2' — making the operation and target unmistakable. It further breaks the check into four named dimensions (CHAIN, PROVENANCE, BALANCE, SQ) and lists possible verdicts, which fully conveys what the tool does.

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's opening sentence and involvement in the sand-v2 context make it clear this tool is for verifying SAND riders; the field-level detail implies when it is appropriate to invoke it. It also states the tool is non-enforcing, so the agent knows it is for judgment rather than enforcement. It does not name explicit exclusions or alternatives, but the unique verify purpose is obvious among the siblings.

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.

TDQS

A4/5.0
Disambiguation4/5

Each tool targets a distinct primitive of the beach substrate: block I/O, floor alignment, pools, streams, settlements, identity, SAND, verification, world entry, and agent wakes. The descriptions explicitly separate near-neighbors like pool vs stream and networking vs verify_rider, though a few pairs (bsp/bsp-floor, play/invite) could still be confused on name alone.

Naming Consistency3/5

The pscale_ prefix provides a consistent family marker, but the verb/object pattern is mixed: bare verbs (invite, play, settle), object-verb compounds (key_publish, pool_engage, stream_engage), a verb-object compound (verify_rider), and nouns (genus, networking). bsp and bsp-floor also break the snake_case convention, keeping the naming readable but not strongly predictable.

Tool Count5/5

Twelve tools is well within the well-scoped range for a server of this breadth, and each tool maps to a distinct capability: core bsp, floor alignment, identity, grains, pools, streams, collectives, worlds, SAND networking, verification, and agent wakes. No tool feels redundant given the described domain.

Completeness4/5

The surface covers the main lifecycle areas: block read/write/discovery, key publication, bilateral grains, pools, streams, settlements, world entry, SAND networking, and rider verification. Minor gaps exist—passport creation is a prerequisite for key_publish but is only implied as a bsp write, and instance/world creation is referenced rather than directly exposed—so agents may need to work around a few edges.