Skip to main content
Glama
cambroussard9

trail-factors

efficiency_factor

Calculates speed per heartbeat on segment-matched terrain across selected runs, matching by segment identity rather than GAP to compare aerobic efficiency.

Instructions

§6.8 speed per heartbeat on segment-matched terrain, over a selection.

Matched by segment identity, NOT by GAP — GAP is unvalidated (§12.2).

Input Schema

NameRequiredDescriptionDefault
last_nNo
clusterNo
end_dateNo
run_typeNo
directionNo
segment_idNo
start_dateNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses one meaningful trait — that matching uses segment identity rather than GAP because GAP is unvalidated — but says nothing about read-only vs mutation nature, cost, what happens with an empty selection, how defaults on the seven optional filters behave, or failure modes.

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?

It is short and the metric definition is front-loaded, so there is little waste. But the spec-section citations (§6.8, §12.2) occupy space without conveying anything to an agent that cannot read the spec, making the text dense yet under-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?

The existence of an output schema excuses it from explaining return values. Everything else is missing: seven undocumented parameters at 0% coverage, no annotations, no precondition or exclusion guidance, and a rationale-heavy framing that leaves an agent unable to construct a correct call confidently.

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% across seven parameters, so the description must compensate and largely fails. 'Over a selection' vaguely gestures at the filtering parameters (last_n, cluster, date range, run_type, direction, segment_id) but explains none of their units, formats, default semantics (empty string vs 0), or interaction.

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 phrase 'speed per heartbeat on segment-matched terrain' identifies the computed metric and its scope ('over a selection'), which is more than a restatement of the name. However, it never uses a verb like 'compute' or 'calculate', and the leading '§6.8' reference assumes the agent already knows the spec. The contrast with GAP-based matching hints at sibling differentiation but does not name an alternative tool.

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?

'Matched by segment identity, NOT by GAP' is a methodological constraint on the computation, not guidance on when to invoke this tool. Nothing tells the agent when to pick this over matched_terrain_drift, segment_effort_drift, or basic_metrics, nor what preconditions (segment history, sufficient rides) are required.

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