Skip to main content
Glama

Server Details

Converra (converra.ai), not Convera, fixes the behavior, not the code. Diagnoses production agent failures, tests bounded prompt or configuration fixes head-to-head, ships what you approve, and reports a production verdict on every fix. Streamable HTTP; OAuth or API-key bearer auth. Docs: https://converra.ai/docs/mcp/coding-agents?utm_source=glama&utm_medium=referral&utm_campaign=mcp_registry_2026_10 . Full tool catalog and install commands: https://github.com/converra/converra-agent-kit/blob/main/SUBMISSION.md

Ownership verified
Status
Healthy
Uptime
97.6% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL
ChatGPT
–
Claude
–

TDQS

B3.3/5.0

Scored across 108 tools

Disambiguation2/5

With 108 tools there is heavy overlap across clusters: get_insights / get_run_insights / get_agent_status / refresh_agent_insights / regenerate_run_insights / batch_regenerate_insights all touch insight generation, and get_fleet_overview / get_fleet_intelligence / get_fleet_timeline / get_score_timeline / get_step_failure_aggregation all report fleet-level health. Descriptions do disambiguate some pairs explicitly (e.g. get_adjudication_queue 'is NOT get_review_queue'), but many boundaries still require careful reading and misselection is likely.

Naming Consistency4/5

The set overwhelmingly follows a predictable snake_case verb_noun pattern (list_agents, create_run, update_settings, delete_webhook, get_worst_run). A few deviations exist (regression_test, get_converra_roi, sync_context_from_url) but they remain readable and do not break the overall convention.

Tool Count1/5

108 tools is an extreme mismatch for a single server surface; even a rich prompt-optimization platform does not require this many discrete endpoints. The volume itself creates discoverability and selection problems regardless of individual tool quality.

Completeness5/5

The surface covers the full lifecycle: agent creation/analysis/optimization, run ingestion and diagnosis, dataset curation and versioning, fine-tuning projects with approvals, plus personas, webhooks, integrations, deployments and production tests. CRUD, feedback, approvals, and verification loops all appear represented with no obvious dead ends.

Available Tools

108 tools
add_insight_feedbackAdd Insight FeedbackA
Destructive
Inspect

Record disagreement with a run insight. Feedback attaches to the agent that owns the run (not the run itself), so it conditions all FUTURE insight generations for the same agent — not just this one. By default, this also triggers an immediate forced regeneration of the current run so the user sees the corrected insight right away. Other runs pick up the correction the next time their insights are regenerated.

NameRequiredDescriptionDefault
agentIdNoThe agent/prompt ID to attach feedback to when correcting a secondary-agent insight. Defaults to the run's entry agent.
contentYesThe user's free-text disagreement / correction (required)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
findingKeyNoThe stable content-derived key of the finding being corrected (tool:<name> / artifact:<hash> / rule:<quote>), when known. Anchors the verdict to the exact finding so it trains against the right target.
verdictTypeNoThe evidence-bound verdict: 'confirmed_issue' (real issue), 'false_positive' (wrong finding), 'by_design' (correct but intended behavior), or 'wont_fix' (real issue acknowledged but deferred). Defaults to by_design.
rejectedClaimNoThe specific insight bullet or phrase the user disagreed with (optional but recommended)
conversationIdYesThe run whose insight is being corrected (required)
expectedPublicationNoRequired when resolving a human-review request. Bind the verdict to the exact immutable publication returned by the insight read.
triggerRegenerationNoWhether to immediately regenerate insights for this run with the new feedback applied. Defaults to true.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, and the description goes beyond them with substantive behavioral detail: feedback attaches to the agent not the run, conditions all FUTURE generations, triggers immediate forced regeneration by default, and other runs pick up corrections later. This is exactly the extra context the bar rewards.

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?

Three tightly-packed sentences, front-loaded with the core action. Dense but every sentence carries distinct behavioral information; no filler. Slightly heavy but earns its length given the tool's complexity.

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 9 params, nested objects, 100% schema coverage, and a destructive=false? no—destructive write with side effects, the description covers the temporal/persistence semantics (future generations, immediate regeneration) that the schema cannot express. Nothing essential is missing 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?

Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the agent-scoping semantics that motivate agentId's default behavior and the regeneration trigger that frames triggerRegeneration. Adds value on top of already-rich schema docs.

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+resource: 'Record disagreement with a run insight.' Clear what the tool does and distinguishes from read tools like get_run_insights, though it doesn't explicitly contrast with regenerate_run_insights or batch_regenerate_insights which are adjacent 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?

Explains the situation well: when the user disagrees with an insight and wants a correction that conditions future generations. No explicit when-not-to-use guidance or named alternatives (e.g. vs regenerate_run_insights), 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.

add_optimization_feedbackAdd Optimization FeedbackAInspect

Add feedback (thumbs up/down, comment, or both) on an optimization result. Feedback is stored per-agent and propagated as context to future optimizations. Use feedbackType 'reaction' for responses to a specific optimization, 'constraint' for standing rules (e.g., 'never remove the disclaimer'), and 'direction' for strategic guidance (e.g., 'focus on reducing hallucination').

NameRequiredDescriptionDefault
ratingNoThumbs up (positive) or thumbs down (negative)
agentIdYesThe agent ID to attach feedback to (required)
commentNoFree-text feedback comment (optional if rating is provided)
variantIdNoThe variant ID (optional, for variant-specific feedback)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
feedbackTypeYesType of feedback: 'reaction' (response to optimization result), 'constraint' (standing rule for all future optimizations), 'direction' (strategic guidance)
optimizationIdNoThe optimization process ID (optional, for optimization-scoped reactions)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false). The description adds genuinely useful behavioral context beyond that: feedback is stored per-agent and propagated as context to future optimizations, which tells the agent the write has lasting downstream effects. It stops short of noting permission requirements or whether feedback is editable/deletable.

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?

Three sentences, front-loaded with the core action before the enum taxonomy. The feedbackType examples are the only slightly redundant portion versus the schema, but they aid selection and are worth the space.

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, and the description adequately covers the effect of the call (per-agent storage, propagation to future optimizations). It omits return shape and whether optimizationId/variantId are needed for certain feedback types, which would help an agent compose a fully valid call.

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 7 parameters including the enum semantics for feedbackType and rating. The description's explanation of reaction/constraint/direction largely restates what the schema's feedbackType description provides, so it adds examples but little net new 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?

States a specific verb and resource ('Add feedback ... on an optimization result') and immediately scopes what feedback comprises (rating, comment, or both). This distinguishes it from the nearest sibling add_insight_feedback, which targets insights rather than optimization results.

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?

Gives explicit when-to-use guidance for each of the three feedbackType values with concrete examples ('never remove the disclaimer', 'focus on reducing hallucination'). It does not, however, state when NOT to use this tool or how it differs in practice from add_insight_feedback, so routing between the two feedback tools is left to inference.

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

add_regression_scenariosAdd Regression ScenariosAInspect

Add custom regression test scenarios to an agent's existing golden suite. Use this to strengthen the regression suite with scenarios targeting specific behaviors (e.g., human escalation, multi-language, support routing). Scenarios are appended - existing ones are preserved.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent whose regression suite to add scenarios to
scenariosYesArray of scenarios to add
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare the tool is not read-only, not destructive, and closed-world, so the safety profile is largely covered. The description adds genuinely useful context the annotations do not: "Scenarios are appended - existing ones are preserved," which reassures the agent that a mutation will not overwrite the existing golden suite. It does not mention any limit on scenario count, validation rules, or return shape.

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 tight sentences: purpose first, then usage, then the append/preserve guarantee, with no filler or repetition. Every sentence adds a distinct piece of 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 two-required-param mutation tool with a rich nested schema and no output schema, the description covers what it does, when to use it, and the append semantics. It leaves out return behavior and any limits on scenario count or validation, which are minor but real 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%, including nested scenario fields and the superadmin-only customerId, so the schema already carries the parameter burden. The description only implicitly references agentId via "an agent's existing golden suite" and adds no format or constraint detail 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?

States a specific verb (add) plus resource (custom regression test scenarios) and target (an agent's existing golden suite), which separates it from siblings like get_regression_suite and regression_test without needing to name them. An agent can identify the operation from the first clause alone.

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?

"Use this to strengthen the regression suite with scenarios targeting specific behaviors (e.g., human escalation, multi-language, support routing)" gives a clear context and concrete examples of intended use. It stops short of naming when NOT to use it or pointing to an alternative (e.g., dataset or production-test tools), so no explicit exclusions.

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

analyze_agentAnalyze AgentA
Read-only
Inspect

Analyze an agent's system prompt structure, identify weaknesses, and get improvement recommendations without running simulations

NameRequiredDescriptionDefault
promptYesThe agent's system prompt content to analyze
promptIdNoOptional agent ID to include historical performance metrics
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered; the description's 'without running simulations' usefully adds that no execution/side effects occur. It does not mention that customerId requires superadmin privileges or what the analysis output contains, so it adds only modest context beyond the 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?

A single front-loaded sentence with a clear verb, object, and disambiguating clause; no filler or repetition of the title.

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 three-parameter, read-only analysis tool with full schema coverage and no output schema, the description conveys what is analyzed and what kinds of results come back (weaknesses, recommendations). It could say more about how the optional promptId/customerId change the result, but nothing essential to calling it is missing.

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 each parameter (prompt, promptId, customerId) is already documented in the schema, including the superadmin note. The description adds no parameter-level meaning beyond what the schema states, so the baseline 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 names a specific verb ('Analyze'), a specific resource ('an agent's system prompt structure'), and the concrete outputs ('weaknesses', 'improvement recommendations'). The trailing 'without running simulations' also distinguishes it from the sibling simulate_agent at a glance.

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?

'Without running simulations' tells the agent this is a static, non-executing review, which contrasts it with simulate_agent and run-oriented siblings. It stops short of an explicit 'use this instead of X when Y' statement, but the selection context is clear.

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

apply_variantApply VariantB
Destructive
Inspect

Apply/deploy a winning variant to replace the original agent prompt content

NameRequiredDescriptionDefault
processIdYesThe optimization process ID
variantIdNoThe variant ID to apply (defaults to leading/winning variant if not specified)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description usefully adds that the original agent prompt content is replaced, clarifying what is destroyed, but says nothing about reversibility or required permissions despite a rollback_production_test sibling existing.

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 front-loaded sentence that states the action and its effect with no wasted words. The destructive outcome is placed immediately after the verb.

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 destructive mutation with no output schema, the description covers the effect but omits reversibility, permission requirements, and post-apply state. Annotations carry the safety hint, so it is adequate but leaves real gaps for a state-changing 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 all three parameters are documented in the schema, making the baseline 3. The description only echoes the 'winning variant' defaulting behavior already stated for variantId in the schema and adds no new syntax or ID-format detail.

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 a specific verb (apply/deploy), resource (variant), and effect (replace the original agent prompt content). This lets an agent distinguish it from validate_variant and get_variant_details, though it does not explicitly name those siblings.

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 explicit when-to-use or when-not-to-use guidance, and no reference to alternatives such as validate_variant or decide_approval. The word 'winning' faintly implies this happens after a variant wins, but the usage context is left to inference.

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

batch_regenerate_insightsBatch Regenerate InsightsA
Destructive
Inspect

Regenerate insights for all runs of an agent. Use this to bulk-fix broken insights or refresh after changes. Returns progress summary.

NameRequiredDescriptionDefault
forceNoRegenerate even if valid insights already exist; existing insights are overwritten on success, not deleted first (default: false)
limitNoMaximum number of runs to process (default: 50, max: 200)
agentIdYesThe agent ID to regenerate insights for all its runs
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is known. The description adds little beyond that — 'Returns progress summary' hints at the output shape, but nothing about the overwrite behavior of `force` or the batch limit, which lives entirely in 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?

Three short sentences, zero filler, with the core action front-loaded and the usage trigger immediately after. Every sentence carries 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 destructive batch mutation with no output schema, the description is thin: it does not mention the default limit of 50 (which bounds scope), the overwrite behavior, or how it relates to the single-run sibling. The 'progress summary' note partially covers the return, but an agent must open the schema to understand the operation's blast radius.

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 descriptions are rich (overwrite semantics, defaults, max values, superadmin restriction). The description contributes no parameter detail beyond what the schema already provides, so the 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?

States a specific verb (regenerate) plus resource (insights) with a clear scope qualifier ('for all runs of an agent'), which distinguishes it from a single-run variant. However, it never contrasts itself with close siblings like regenerate_run_insights or refresh_agent_insights, so the boundary is inferred rather than stated.

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?

'Use this to bulk-fix broken insights or refresh after changes' gives concrete when-to-use triggers. It stops short of naming alternatives (regenerate_run_insights, refresh_agent_insights) or when-not conditions, so an agent could still pick the wrong sibling for a single run.

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

benchmark_modelsBenchmark ModelsAInspect

Compare multiple LLM models on the same scenarios for an agent. Runs baseline model once, then each challenger model, producing per-scenario deltas with statistical rigor (3 runs per scenario, median scoring). Returns a jobId immediately — use get_benchmark_status to poll.

NameRequiredDescriptionDefault
goalNoOptimization goal (default: quality). Affects winner selection.
agentIdYesThe agent ID to benchmark.
maxTurnsNoMax conversation turns per scenario (default: 5).
modelIdsYesArray of 2-6 model IDs. First model is the baseline (current model). Remaining models are challengers.
customerIdNo(Converra superadmin only) Target customer ID.
baselineModelIdNoExplicit baseline model ID (overrides modelIds[0]).
fineTunedModelsNoFine-tuned Fireworks models to make runnable for this call. Required for every accounts/<account>/models/<model> id in modelIds. Prices come from the Fireworks pricing page for the base model; latency is null until measured.
runsPerScenarioNoRuns per scenario per model (default: 3, min: 1). More runs = more reliable but slower.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only say it is not read-only, not destructive and not open-world. The description goes well beyond that by disclosing the async job pattern (immediate jobId), the execution cost profile (baseline once + every challenger), and the statistical method (3 runs per scenario, median scoring), which materially affects how an agent should budget and follow up. It does not state auth/scoping requirements, e.g. the superadmin-only customerId path.

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 what the tool does, then how it runs, then the async handoff. Every sentence carries distinct information and none restates the name or annotations.

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?

With no output schema, the description correctly covers the immediate return (jobId) and the polling path, and it hints that goal affects winner selection. It does not describe the shape of the per-scenario delta results the agent will eventually retrieve, but the get_benchmark_status pointer largely compensates.

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 every parameter including the baseline/challenger ordering, goal enum, and fineTunedModels pricing fields is already documented. The description reinforces the baseline-vs-challenger concept and the default run count but adds no syntax or format beyond the schema; baseline 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?

States a specific verb and resource ('Compare multiple LLM models on the same scenarios for an agent') plus the mechanism (baseline run once, then each challenger, per-scenario deltas). An agent can distinguish this tuning/benchmark job from siblings like start_model_test or simulate_ab_test without opening the schema.

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 operational context: it returns a jobId immediately and directs the caller to get_benchmark_status for polling, which is exactly the when/what-next guidance an agent needs for an async tool. It stops short of naming when to prefer this over adjacent tools such as optimize_model or simulate_ab_test, so no explicit exclusions or alternatives are given.

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

bind_dataset_versionBind Dataset VersionAInspect

Bind the one frozen dataset version a fine-tuning project trains on (from list_dataset_versions). Permanent for the project: the same version again is a no-op, a different one is refused — open a new project to train on another version. Freezes nothing, trains nothing, spends nothing. Scope: write.

NameRequiredDescriptionDefault
datasetIdYesDataset ID the version belongs to
projectIdYesFine-tuning project ID from list_fine_tuning_projects
versionIdYesFrozen version ID from list_dataset_versions
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false), the description discloses irreversibility ('Permanent for the project'), idempotency semantics, the refusal mode for a conflicting version, and that the call has no side effects on freezing/training/spend. This is rich behavioral context the annotations alone do not carry.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the core action (bind the frozen version), followed by persistence semantics, side-effect disclaimers, and scope. No filler and no repetition of schema content.

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 mutation tool with no output schema, the description covers purpose, permanence, idempotency, refusal behavior, alternatives, and side-effect profile. An agent has everything needed to decide when and how to call 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 description coverage is 100%, so all four parameters are already documented with their source tools (projectId, versionId). The description reinforces that versionId comes from list_dataset_versions but adds no new syntax, format, or constraint detail, and does not address the superadmin-only customerId. Baseline 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?

States a specific verb (bind) and the exact resource (the one frozen dataset version a project trains on), and proactively contrasts with freeze_dataset_version by asserting 'Freezes nothing, trains nothing, spends nothing.' An agent can distinguish this from the freeze/list siblings without opening a schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent to list_dataset_versions as the source of the version, states the when-not (a different version is refused), and names the alternative path ('open a new project to train on another version'). Repeat-call behavior (same version = no-op) is also spelled out.

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

classify_optimization_failureClassify Optimization FailureA
Destructive
Inspect

Diagnose why an optimization failed to produce a winner. Returns failure classification (wrong diagnosis, wrong approach, tradeoff regression, etc.), suggested next strategy, and per-metric breakdown. Does NOT trigger a restart — diagnosis only.

NameRequiredDescriptionDefault
processIdYesThe optimization process ID to diagnose
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.6/5.0
Behavior1/5

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

The description frames the call as read-only diagnosis ('diagnosis only', 'Does NOT trigger a restart'), but the annotations declare readOnlyHint=false and destructiveHint=true, so the safety profile an agent relies on is contradicted. Although the description usefully enumerates the returned payload and the negative scope, the direct conflict with the structured safety hints forces the floor score.

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 tight sentences, front-loaded with purpose, then output content, then scope restriction. Every sentence carries distinct information with no filler.

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?

With no output schema, the description does the work of describing the return (failure classification, suggested next strategy, per-metric breakdown), and parameters are fully covered by the schema. The residual gap is side-effect/permission behavior, which the contradictory annotations leave ambiguous.

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 only two parameters, and the schema already documents both processId and the superadmin-only customerId. The description adds nothing about parameter meaning or format, so the baseline 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?

States a specific verb and resource with the triggering condition: 'Diagnose why an optimization failed to produce a winner.' The closing 'Does NOT trigger a restart — diagnosis only' separates it from mutation siblings such as trigger_optimization, optimize_model, and fix_worst_run without requiring a schema 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?

Gives a clear triggering context (an optimization that produced no winner) and one explicit exclusion (it does not restart the optimization). It stops short of naming the alternative tools an agent should reach for when it wants details, run-level diagnosis, or an actual re-run.

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

close_fine_tuning_projectClose Fine-tuning ProjectBInspect

Close a fine-tuning project with its reason. A closed project records nothing further; a diagnosed rerun opens a new project naming it in rerunOfProjectId. Scope: write.

NameRequiredDescriptionDefault
reasonYes
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID

TDQS

B3.4/5.0
Behavior4/5

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

Adds genuine behavioral context beyond the annotations: a closed project 'records nothing further' (consequence of closure) and a diagnosed rerun spawns a new project referencing rerunOfProjectId. 'Scope: write' is consistent with readOnlyHint=false, though it doesn't clarify why closure isn't flagged 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?

Three compact sentences, front-loaded with the core action. No padding, though the rerunOfProjectId sentence is arguably tangential to an invocation-time description.

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?

With no output schema the description covers the mutation's consequence and scope well enough, but it omits permission/error behavior and leaves the required 'reason' enum selection entirely to the schema. Adequate but with clear gaps for a state-changing 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?

At 67% schema coverage the schema already documents projectId and customerId (superadmin-only). The description clarifies the role of 'reason' as the closure justification but adds no enum semantics, and its rerunOfProjectId reference is not an input parameter, which may confuse rather than help.

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+resource ('Close a fine-tuning project') and identifies the required trigger input ('with its reason'). This clearly differentiates it from create/get/list_fine_tuning_projects siblings, though it never names an alternative 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?

Provides no when-to-use or when-not guidance. 'Scope: write' hints at the operation class, and the enum reasons imply scenarios, but the description never says at what point in a project's lifecycle an agent should close it versus other actions.

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

create_agentCreate AgentAInspect

Create a new agent for optimization. IMPORTANT: You must specify the LLM model this agent uses. Different models support different parameters. Opus 5 uses reasoningEffort and rejects temperature/topP; other models may support sampling controls. Always ask the user which model they use if it is not specified.

NOTE: After creating an agent, upload run transcripts with create_run before running optimization.

NameRequiredDescriptionDefault
nameYesDisplay name for the agent
tagsNoTags for organization (e.g., ['customer-support', 'onboarding'])
topPNoNucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.
contentYesThe agent's system prompt content
llmModelYesREQUIRED: The LLM model this agent uses (e.g., 'gpt-4o', 'claude-sonnet-5-5', 'o1', 'gemini-3.8-flash'). This determines which parameters are relevant.
maxTokensNoMaximum tokens in response. Important for cost control and response length.
objectiveNoBusiness objective for this agent
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
constraintsNoWhat must NOT change during optimization - required structural elements, output formats, or sections that would break downstream integrations (e.g., 'Must return JSON with fields: name, score, summary')
descriptionNoOptional description of what the agent does
temperatureNoTemperature setting (0-2 for GPT, 0-1 for Claude). Controls randomness. Not applicable for reasoning models (o1/o3) - use reasoningEffort instead.
technicalNotesNoEngineering rationale explaining why the agent's prompt is structured this way (e.g., 'Uses XML tags because downstream parser expects structured output')
presencePenaltyNoEncourages new topics (-2 to 2). GPT models only.
reasoningEffortNoFor reasoning models: controls reasoning depth. Opus 5 supports low, medium, high, xhigh, and max.
frequencyPenaltyNoReduces repetition of token sequences (-2 to 2). GPT models only.
customEvaluationsNoAgent-level custom evaluation criteria (overrides org-level). Max 5.

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare it is a non-read-only, non-destructive, closed-world write. The description adds genuinely non-obvious behavioral context: parameter validity is model-dependent (Opus 5 accepts reasoningEffort and rejects temperature/topP), which prevents malformed calls. It does not cover permissions, whether creation is reversible, 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?

Three tight sentences with the critical constraint front-loaded as 'IMPORTANT' and the workflow caveat marked 'NOTE'. No filler. The trailing create_run sentence is slightly tangential to the act of creation, but it earns its place as sequencing guidance.

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 16-parameter write tool with no output schema, the description covers the highest-risk decision (model selection and its parameter consequences) and the immediate next step in the workflow. It does not mention what the call returns (e.g., an agent ID needed for create_run), which is the main remaining 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?

Schema description coverage is 100%, so the baseline is 3, but the description adds cross-parameter semantics the schema cannot express: that llmModel gates which sampling/reasoning parameters are legal. That is meaningful beyond the per-field descriptions, though the remaining 15 parameters are left entirely to 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?

States a specific verb+resource ('Create a new agent') and adds the platform context ('for optimization'), which distinguishes it from sibling read/mutation tools like get_agent, list_agents, and update_agent. Sibling differentiation is implied by the verb rather than stated explicitly, so it falls just short of 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 Guidelines4/5

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

Gives concrete when-to-use guidance: llmModel must be specified, the agent should ask the user which model is in use when unspecified, and it names the follow-up step and sibling tool ('upload run transcripts with create_run before running optimization'). No when-not-to-use or prerequisite/permission guidance is offered, keeping it below 5.

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

create_datasetCreate DatasetAInspect

Curate a dataset from an agent's completed runs: extracts candidates, clusters them deterministically by finding type × instruction version × conditions, and admits verified successes on their own checks. Trains nothing and spends nothing.

NameRequiredDescriptionDefault
nameYesDataset name (1-120 characters)
agentIdYesThe agent whose runs are curated
customerIdNo(Converra superadmin only) Target customer ID
splitConditionKeysNoRun metadata keys captured on every candidate so clusters can be split by them later. Default: ["templateId"]. Max 8.

TDQS

A3.9/5.0
Behavior4/5

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

The annotations only declare it as a non-read-only, non-destructive, closed-world write. The description adds genuinely useful behavioral context beyond that: the process is deterministic, candidates are admitted only if they are verified successes on their own checks, and it has no training cost or spend. This is a meaningful disclosure for a mutation tool, though rate limits and permission requirements remain unaddressed.

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 tight sentences with the purpose and mechanism front-loaded and the cost/no-training clarification placed last where it matters. Dense but no wasted phrasing; the breakdown of steps ('extracts... clusters... admits...') is arguably more detail than a selector needs, keeping it just short of 5.

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 four-parameter mutation tool with full schema coverage and no output schema, the description pairs the purpose with the non-training/no-cost guarantee, which is what an agent most needs to avoid misfiring. It stops short of describing the returned handle (e.g., a dataset id) or next steps, but no output schema exists so this is largely acceptable.

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters, including the superadmin-only customerId and the splitConditionKeys default/max, are already documented in the schema. The description's mention of 'instruction version × conditions' loosely gestures at the splitting concept but adds no syntax or constraint detail beyond the schema, so baseline 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 states a specific verb (curate/create) and resource (a dataset from an agent's completed runs) and describes the concrete mechanism: extracting candidates, deterministic clustering by finding type × instruction version × conditions, and admitting verified successes. This clearly distinguishes it from read-side siblings like get_dataset and list_datasets.

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: it's the tool that builds a dataset from completed runs, and 'Trains nothing and spends nothing' rules out a training interpretation. However, it never says when to prefer this over siblings like list_dataset_examples, freeze_dataset_version, or bind_dataset_version, nor does it name any prerequisite or exclusion.

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

create_fine_tuning_projectCreate Fine-Tuning ProjectAInspect

Open one fine-tuning pass: one agent, one objective, optionally the dataset it will prepare examples from. Creating a project trains nothing, binds no version and spends nothing — freezing the version and approving training spend are decisions that need the approve scope (freeze_dataset_version, decide_approval) or a human on the screen.

NameRequiredDescriptionDefault
nameYesProject name (1-140 characters)
agentIdYesThe agent being fine-tuned
datasetIdNoDataset to prepare examples from (optional — a project can start before one exists)
objectiveYes
customerIdNo(Converra superadmin only) Target customer ID
rerunOfProjectIdNoThe project this one supersedes, for a diagnosed rerun (optional)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description adds real context beyond that: no training occurs, no version is bound, no money is spent, and the later steps require the approve scope. It stops short of describing what the call returns or its own authorization requirements, but it meaningfully expands on the annotation surface.

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 filler. The core action and scope come first, with the clarifying non-effects and hand-off to the approval flow following. Every clause carries 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 non-destructive create with no output schema, the description covers what is created and what is explicitly not triggered. It does not say what the call returns (e.g., a project id to use with get_fine_tuning_project) or the scope needed to create the project itself, a small remaining 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 83%, so the schema already documents parameters including the optional datasetId and the nested objective object. The description restates the cardinality ('one agent, one objective, optionally the dataset') but adds no syntax, format, or enum detail beyond the schema, so the baseline 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?

States a specific verb and resource ('Open one fine-tuning pass') and immediately bounds the scope: one agent, one objective, optional dataset. It is clearly distinguishable from siblings like freeze_dataset_version or decide_approval, which it names as separate decisions.

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 says what this tool does not do ('trains nothing, binds no version and spends nothing') and routes the agent to the alternatives that handle those steps (freeze_dataset_version, decide_approval) or to a human. This is explicit when/when-not guidance with named alternatives.

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

create_personaCreate PersonaBInspect

Create a new persona for simulation testing

NameRequiredDescriptionDefault
nameYesPersona name (e.g., 'Frustrated Enterprise Customer')
tagsNoTags for filtering (e.g., ['enterprise', 'frustrated', 'technical'])
descriptionYesRich narrative description of the persona's background, behavior, and goals

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a non-destructive local write. The description adds only the simulation-testing context; it discloses nothing about required permissions, uniqueness of names, or what happens on duplicate creation.

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 front-loaded sentence with verb, resource, and purpose; zero filler and nothing redundant.

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 and the annotations cover the safety profile, so return-value explanation is not needed. However, for a resource-creation tool the description is sparse: it says nothing about how the persona relates to simulation runs or what identifying constraints apply.

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 examples given for name, tags, and description, so the schema carries the full parameter burden. The description adds no parameter meaning beyond what is already documented, which is the baseline-3 case.

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 + resource ('Create a new persona') plus a purpose qualifier ('for simulation testing'). It distinguishes itself from update_persona/get_persona/list_personas by the create verb, but does not contrast itself against related creation siblings such as create_agent or create_dataset.

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 phrase 'for simulation testing' faintly implies the context in which a persona is used, but there is no explicit when-to-use guidance, no prerequisites (e.g., persona must be linked to an agent), and no mention of alternatives such as update_persona.

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

create_runCreate RunAInspect

Create a new run record from a real user/AI dialogue transcript. REQUIRED FOR OPTIMIZATION: You must upload runs before running trigger_optimization - optimization analyzes these dialogues to improve the prompt.

IMPORTANT: The content must contain actual back-and-forth dialogue between a user and AI assistant - NOT system prompts, instructions, or configuration text.

You can either:

  1. Use an existing prompt: provide promptId

  2. Auto-create a new prompt: provide prompt + promptName + llmModel

When auto-creating, the prompt will be created and activated automatically before the run is logged.

TOOL USAGE: If the agent had tools available or made tool calls, pass toolDefinitions (tools available) and toolCalls (calls actually made, with arguments and results) so Converra can grade tool selection and results.

NameRequiredDescriptionDefault
promptNoThe system prompt content (for auto-create). If provided with promptName and llmModel, a new prompt will be created automatically.
statusNoRun status (default: completed)
agentIdNoThe agent ID this run is associated with. Required unless using auto-create (prompt + promptName + llmModel)
contentYesThe full run transcript with alternating user and AI messages. Format: Use 'User:' and 'AI:' (or 'Assistant:') labels. Example: User: Hi, I need help with my order AI: Hello! I'd be happy to help. Could you provide your order number? User: It's #12345 AI: Thanks! I found your order. What seems to be the issue? DO NOT submit system prompts, prompt instructions, configuration text, or anything that isn't actual user-AI dialogue.
traceIdNoRuntime trace ID this run belongs to. Groups it under a trace for lineage (see get_trace_lineage).
llmModelNoLLM model used (e.g., 'gpt-4o'). Required when auto-creating a prompt.
toolCallsNoTool/function calls the agent actually made, in order. Send these so Converra can evaluate tool selection and results - auto-instrumentation captures tool definitions but not the calls themselves. Each item: { name, arguments, result?, id? }.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
promptNameNoDisplay name for the auto-created prompt (required when providing prompt content)
companyNameNoName of the company/client in the run (optional)
parentTraceIdNoThe traceId of the trace that SPAWNED this one (e.g. a design run that spawned this interview). Requires traceId. Immutable once set.
toolDefinitionsNoTools that were available to the agent during this run (ground-truth tool contracts). Lets Converra grade whether the agent reached for the right tools. Each item: { name, description?, parameters? }.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false. The description adds real behavioral context beyond them: the content validation constraint (must be genuine dialogue, not system/config text) and the non-obvious side effect that auto-creating a prompt activates it before the run is logged. It does not cover permissions or rate limits, so 4 rather than 5.

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?

Front-loaded with the core action and the optimization prerequisite, then organized with clear labeled sections. Some overlap with the schema's own content requirement, but the length is defensible for a 12-parameter workflow tool.

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?

Covers purpose, prerequisite ordering, input-path selection, content validation rules, and the tool-grading rationale for the tool array parameters. No output schema exists, so return values need not be described; an agent has everything required to call this 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 the baseline is 3. The description adds value by explaining the interaction logic between parameters (the two prompt-sourcing paths and the purpose of toolCalls vs toolDefinitions) that the schema documents only per-field, not as a group.

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

Purpose5/5

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

States a specific verb and resource ('Create a new run record') and immediately qualifies the source ('from a real user/AI dialogue transcript'). This distinguishes it from the read/list siblings (get_run, list_runs) and from the delete sibling without opening any schema.

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

Usage Guidelines5/5

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

Explicitly states the prerequisite for another tool ('You must upload runs before running trigger_optimization') and lays out the two mutually exclusive input paths (existing promptId vs auto-create with prompt/promptName/llmModel). When-to-use and alternatives are fully specified.

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

create_webhookCreate WebhookCInspect

Create a new webhook endpoint for receiving event notifications

NameRequiredDescriptionDefault
urlYesThe HTTPS URL to send webhook events to
eventsYesEvents to subscribe to: run.created, run.updated, insights.generated, optimization.started, optimization.completed, optimization.stopped, regression_test.completed, regression_test.skipped, prompt.updated, prompt.deleted, batch.completed, batch.failed, deployment.verified, deployment.not_fixed, deployment.regressed, deployment.auto_rolled_back, deployment.confounded, production_test.started, production_test.decision_ready, production_test.promoted, production_test.rolled_back
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
descriptionNoOptional description for this webhook

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond that — it doesn't mention that the endpoint is registered outside this system, any verification/handshake, auth scope, 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?

A single, front-loaded sentence with zero filler. It is appropriately sized and wastes no words, though its brevity is part of why other dimensions are thin.

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 write tool with annotations covering the safety profile and a 100%-documented schema, the essentials are callable. However, nothing explains the superadmin-only customerId delegation, endpoint verification, or delivery behavior, leaving real gaps for a webhook-creation 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 the schema already documents url, events (with a full event list), customerId (superadmin-only), and description. The description adds no parameter meaning beyond the schema, making 3 the correct baseline.

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 (Create) and resource (webhook endpoint) plus its purpose ('for receiving event notifications'). An agent can tell it apart from delete_webhook/update_webhook/list_webhooks by the verb, though the description does not explicitly name those siblings.

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 create a webhook versus updating an existing one (update_webhook) or listing them (list_webhooks). The 'create' verb implies the intent, but nothing states prerequisites, alternatives, or when this is the right choice.

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

decide_approvalDecide ApprovalAInspect

Approve or decline one requested fine-tuning approval (training spend or the production switch). A decision is final: an already-decided approval is refused, never rewritten. An approval executes nothing — the runner that spends or switches must carry it. Stamped with this key's id and the approve scope, so it is distinguishable from a human deciding on the project screen. SCOPE: approve — held literally; write, admin and superadmin keys cannot call it.

NameRequiredDescriptionDefault
noteNoWhy (max 500 characters)
stateYes
projectIdYesFine-tuning project ID from list_fine_tuning_projects
approvalIdYesApproval ID from list_pending_approvals
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false), it discloses that decisions are immutable and refused if already decided, that approving executes nothing and requires a runner to carry it, and the exact scope requirement plus audit stamping. This is exactly the kind of context annotations cannot convey.

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?

Front-loaded with the core action, then progressively adds finality, execution semantics, and auth scope, with no filler sentences. It is somewhat dense with clause-heavy sentences, but every sentence carries distinct 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?

With no output schema, the description correctly covers what happens on invocation (nothing executes; the approval is consumed) and the auth requirements. The remaining gap is the interpretation of the note parameter's downstream effect and any confirmation/return signal, which matters less given the tool's simple 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 description coverage is 80%, so the schema already documents projectId, approvalId, customerId, and note, and the enum covers state. The description adds the conceptual meaning of the decision (spend vs. production switch) but no per-parameter syntax or format detail, matching the baseline 3 for high-coverage schemas.

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 gives a specific verb pair (approve/decline) on a precisely bounded resource: 'one requested fine-tuning approval (training spend or the production switch)'. It also implicitly disambiguates from siblings like request_approval and list_pending_approvals by making clear this acts on an existing request rather than creating or listing one.

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?

It states clear preconditions ('a decision is final', already-decided approvals are refused, and write/admin/superadmin keys cannot call it), which tells the agent when this tool is and isn't valid. It doesn't explicitly name an alternative tool for constructing the approval in the first place, so it falls just short of a full when/when-not/alternatives statement.

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

delete_agentDelete AgentA
Destructive
Inspect

Permanently delete an agent and all associated data: runs tied to this agent, run insights, prompt insights, and prompt metrics. Destructive and irreversible. Scoped to the authenticated customer.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to delete
confirmYesSafety confirmation. Must be true to proceed. Prevents accidental deletion.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety bar is partly covered. The description adds real value beyond that by enumerating exactly which collateral data is destroyed and asserting irreversibility, though it omits auth/permission requirements and any rate-limit or failed-deletion 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?

Three short sentences, the destructive scope is front-loaded, and every clause carries information an agent needs (what is deleted, reversibility, tenancy scope). No padding or restatement of the tool title.

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?

There is no output schema, but for a delete tool the annotations supply the safety profile and the description supplies the cascade and tenancy scope, which is close to what an agent needs. It stops short of covering permission prerequisites or failure modes, leaving a small 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 description coverage is 100%, so agentId, confirm, and customerId are already documented in the schema, which sets the baseline at 3. The description's 'Scoped to the authenticated customer' lightly reinforces the customerId semantics but adds no format or constraint detail 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?

States a specific verb (delete) and resource (agent), and unlike the bare name it enumerates the cascade: runs, run insights, prompt insights, prompt metrics. This clearly distinguishes it from delete_run, delete_user, and delete_webhook without opening any schema.

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?

Conveys when the operation applies through scope ('Scoped to the authenticated customer') and the superadmin-only customerId note, but never states when not to use it or points to a safer alternative sibling. Usage is implied by the destructive/irreversible framing rather than stated.

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

delete_optimizationDelete OptimizationA
Destructive
Inspect

Permanently delete an optimization process and all associated records: activities, runs, candidates, feedback. Destructive and irreversible. Scoped to the authenticated customer.

NameRequiredDescriptionDefault
confirmYesSafety confirmation. Must be true to proceed.
processIdYesThe optimization process ID to delete
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already flag destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description still adds real value beyond them: it enumerates exactly what is cascaded away (activities, runs, candidates, feedback) and confirms the operation is scoped to the authenticated customer.

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 short sentences, front-loaded with the permanent-delete action and cascade, then irreversibility, then scope. No filler sentences.

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 destructive tool with no output schema, the description covers action, cascade blast radius, irreversibility, and tenancy scope, and the required confirm flag is fully explained in the schema. Nothing an agent needs before invoking is missing.

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 processId, confirm, and customerId are already documented. The description adds only a mild scoping hint (authenticated customer) that loosely relates to customerId, but no format or constraint detail beyond the schema, so the baseline 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?

States a specific verb (permanently delete) and resource (an optimization process plus its cascading records), which cleanly distinguishes it from the sibling stop_optimization and the other delete_* tools aimed at agents, runs, users, and webhooks.

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 by the framing: use this when the process and all its records must be removed for good, versus stopping it. However, the alternative sibling stop_optimization is never named or contrasted, so an agent must infer the choice between pausing and destroying.

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

delete_runDelete RunA
Destructive
Inspect

Permanently delete a run and its insights. Destructive and irreversible. Scoped to the authenticated customer.

NameRequiredDescriptionDefault
confirmYesSafety confirmation. Must be true to proceed.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdYesThe ID of the run to delete

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description still adds genuine value beyond them: the deletion is permanent/irreversible and cascades to the run's insights, and it is scoped to the authenticated customer (with the superadmin customerId path noted in 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?

Three short sentences, zero filler, and the destructive/permanent warning is front-loaded immediately after the action statement. 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?

With annotations covering the safety profile and the schema fully describing all three parameters, the description supplies what is missing at the semantic level (irreversibility, insight cascade, customer scoping). No output schema exists, so return-value explanation is not required. Only minor gaps remain, such as whether the confirm flag or authorization prerequisites fail gracefully.

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 confirm, conversationId and customerId are already documented, giving baseline 3. The description adds only the customer-scoping context that loosely maps to customerId; it adds no format or constraint detail for conversationId or confirm.

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

Purpose5/5

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

States a specific verb (permanently delete) and resource (a run), plus the cascade to its insights. 'Run' is clearly distinct from the delete_agent, delete_optimization, delete_user and delete_webhook siblings, so an agent can differentiate without opening the schema.

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 only implied: obviously for removing a run. There is no explicit when/when-not, no mention of alternatives such as get_run or list_runs, and no statement that this should be used only after review of the run. 'Scoped to the authenticated customer' is context but not invocation guidance.

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

delete_userDelete UserA
Destructive
Inspect

Permanently delete a user account within the current customer. Destructive and irreversible. Refuses to delete the last remaining admin in a customer.

NameRequiredDescriptionDefault
userIdYesThe ConverraUser ID to delete (user must belong to the authenticated customer)
confirmYesSafety confirmation. Must be true to proceed.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds two pieces of non-derivable context: the operation is irreversible, and a business rule blocks deleting the last admin. It stops short of describing error surfaces or what happens to dependent resources.

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 short sentences, front-loaded with the verb and the destructive nature, with the guardrail last. No filler and nothing repeated from the schema.

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 destructive mutation with no output schema and full schema coverage, the description covers the essential risks: permanence, irreversibility, and the admin guardrail. Only error/response behavior is left unstated, which is a minor 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 description coverage is 100%, so userId, confirm, and customerId are already fully documented, including the superadmin-only semantics of customerId. The description adds no parameter-level detail 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?

States a specific verb+resource ('Permanently delete a user account') and scopes it to the current customer. An agent can distinguish it from the many sibling delete_* tools (delete_agent, delete_run, delete_webhook) purely by resource.

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?

Gives clear context for invocation (user must be in the authenticated customer) and an explicit guardrail condition under which the call will be refused (last remaining admin). It does not name an alternative tool for softer removal, but no obvious sibling covers that case.

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

delete_webhookDelete WebhookC
Destructive
Inspect

Delete a webhook endpoint

NameRequiredDescriptionDefault
webhookIdYesThe webhook ID to delete
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, covering the safety profile. The description adds nothing beyond that: no statement of irreversibility, no note on whether existing deliveries/history are removed, no auth requirements for the superadmin customerId path.

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?

A single four-word phrase with zero waste and the action front-loaded. It is efficient, though its brevity is close to under-specification rather than true 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?

With annotations carrying the destructive flag and the schema fully documenting both parameters, the minimum an agent needs is present. However, a delete tool of this kind would benefit from stating that removal is permanent and whether in-flight deliveries are affected, which is missing.

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 both webhookId and the superadmin-only customerId are documented in the schema itself. The description adds no format, scope, or side-effect detail about these parameters, so baseline 3 applies.

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 (Delete) and resource (webhook endpoint), so the action is unambiguous. It does not differentiate from sibling mutators like delete_agent, delete_run, or delete_user, but the resource noun is distinct enough that an agent can route to it.

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 versus update_webhook, get_webhook, or list_webhooks, and no prerequisites or warnings about confirming the target. The agent must infer everything from the name.

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

dismiss_deploymentDismiss DeploymentA
Destructive
Inspect

Reject a pending deployment/PR with optional feedback. Updates the deployment status to dismissed and records the reason as feedback so Converra can learn from the rejection. Answers: 'reject this PR', 'dismiss this deployment', 'I don't want this change'.

NameRequiredDescriptionDefault
reasonNoWhy you're rejecting this (saved as feedback for future optimizations)
customerIdNo(Converra superadmin only) Target customer ID
deploymentIdYesThe deployment ID to dismiss

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates state. The description adds useful context beyond that: the deployment status becomes 'dismissed' and the reason is persisted as learning feedback. It does not mention reversibility or required permissions, so it is 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.

Conciseness4/5

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

Three short sentences, front-loaded with the core action before the effect and the example utterances. No padding, though the trigger-phrase list is slightly redundant with the already-clear purpose statement.

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 mutating tool with no output schema and full annotation coverage, the description explains the action, its side effects, and the feedback-learning consequence. It omits what happens to the underlying PR/branch afterwards, but nothing critical to correct invocation is missing.

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 reason, customerId, and deploymentId, including the superadmin scoping note. The description adds little parameter-level meaning beyond restating that feedback is optional; baseline 3 applies.

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 (reject/dismiss) plus the target resource (a pending deployment/PR) and the effect (status set to dismissed). It is unambiguous what the tool does, though it does not explicitly differentiate itself from approval-flow siblings such as decide_approval or request_approval.

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?

Provides trigger phrases ('reject this PR', 'dismiss this deployment', 'I don't want this change') and the implicit constraint that the target must be pending, which aids invocation. However, it never names an alternative tool or explains when to use this versus decide_approval or request_approval, leaving routing to inference.

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

fix_worst_runFix Worst RunAInspect

Turn a failed run into a regression scenario on its owning agent, and optionally launch an optimization targeting that failure. Pipe get_worst_run → fix_worst_run to close the loop from diagnosis to fix. Refuses runs whose failure is not prompt-fixable (tool_config, model_limitation, etc.).

NameRequiredDescriptionDefault
autoLaunchNoIf true, start an optimization targeting this failure after adding the scenario. Default: false.
customerIdNo(Converra superadmin only) Target customer ID
conversationIdYesThe run to reproduce as a regression scenario

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description adds genuine behavioral context: it discloses a refusal policy for non-prompt-fixable failures and the two-part side effect (scenario creation + optional optimization). It does not mention permissions or whether the added scenario is reversible, but the key operational limits are surfaced.

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 the primary action, then the pipeline guidance, then the refusal rule. No filler and nothing repeated from the title or schema.

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, and the description does convey the outcome (scenario added; optimization optionally launched) and refusal conditions, which is most of what an agent needs. It stops short of describing what is returned (e.g., scenario or optimization identifiers) after success.

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 all three parameters, including autoLaunch's default and the superadmin-only customerId. The description adds no format or constraint detail beyond what the schema provides, so baseline 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?

States a specific verb+resource+effect: turning a failed run into a regression scenario on its owning agent, with an optional optimization launch. This is clearly distinguishable from add_regression_scenarios (generic bulk add) and get_worst_run (diagnosis only).

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 names the preceding sibling ('Pipe get_worst_run → fix_worst_run') and the condition that selects it, plus explicit refusal criteria (tool_config, model_limitation failures are not prompt-fixable). Both when-to-use and when-not-to-use are stated.

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

freeze_dataset_versionFreeze Dataset VersionAInspect

Freeze an immutable, numbered version of a dataset under the leakage contract — the one approval Datasets owns, and the version training binds to. Irreversible. Aborts with the violated check (409) rather than freezing a leaky version; a version under the diversity floor freezes but is marked blocked for training. Returns counts, coverage and hashes, never the examples. Stamped with this key's id and the approve scope. SCOPE: approve — held literally; write, admin and superadmin keys cannot call it.

NameRequiredDescriptionDefault
datasetIdYesDataset ID from list_datasets
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial context beyond annotations: irreversibility, the 409 abort-on-violation behavior, the blocked-for-training marking on diversity-floor failures, that only counts/coverage/hashes are returned (never examples), and the approve-scope stamping of the key id. The non-destructive annotation is consistent with creating a new version rather than deleting data, so no contradiction.

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?

Dense but front-loaded: purpose and scope lead, then failure semantics, then output and auth constraints. Every clause carries information an agent needs; nothing is padding.

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 mutation tool with no output schema, the description covers the mutation semantics, error behavior, partial-success case, what is returned, and the authorization scope. Nothing needed to call it correctly is missing.

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 both parameters (datasetId, customerId) are documented in the schema, so the description adds no parameter-level detail. Baseline 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?

States a specific verb (Freeze) and resource (an immutable, numbered dataset version), and situates it distinctly from siblings like list_dataset_versions and bind_dataset_version by naming it as 'the one approval Datasets owns, and the version training binds to.' An agent can distinguish it without opening the schema.

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?

Clear context: use it to create the immutable version training binds to, with the explicit caveat that it aborts on a violated leakage check and freezes-but-blocks versions under the diversity floor, plus a hard SCOPE: approve restriction naming which keys cannot call it. It does not explicitly name an alternative or a 'when not to use,' so it falls short of the top tier.

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

get_accountGet AccountB
Read-only
Inspect

Get account information including organization details and subscription plan

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful-but-small fact of what is returned (org details, subscription plan), which partially compensates for the absent output schema, but says nothing about auth requirements or the superadmin impersonation behavior implied by customerId.

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?

One front-loaded sentence with no filler or redundancy. It is efficient, though the brevity leaves the gaps noted in other dimensions rather than the text being wasteful.

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-required-parameter read tool with no output schema and full annotation coverage, the description telling the agent what comes back is adequate. It could clarify default scope (current account vs. impersonated customer) but nothing essential to invocation is missing.

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 single parameter's superadmin/act-on-behalf semantics are fully documented in the schema itself. The description adds no parameter meaning beyond that, so the baseline 3 applies.

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+resource ('Get account information') plus a preview of the returned content (organization details, subscription plan). It does not distinguish itself from adjacent read tools such as get_settings, get_usage, or get_converra_roi, so an agent must infer the difference.

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 when-to-use guidance, no prerequisites, and no mention of alternatives among the many get_* siblings. Nothing tells the agent when account info is the right call versus get_settings or get_usage; the agent is left to infer 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.

get_adjudication_queueGet Adjudication QueueA
Read-only
Inspect

Dataset-curation judgments awaiting a human or agent decision: clusters with no decision in force, training targets that did not verify, and members left unresolved on their own evidence checks. This is NOT get_review_queue, which is the optimization PR queue. Answers: 'what needs adjudicating?', 'how much review is left on this dataset?'.

NameRequiredDescriptionDefault
limitNoMaximum items to return (default: 20, max: 100)
datasetIdNoFilter to one dataset (optional — all datasets if omitted)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context by specifying what items surface in the queue (undecided clusters, unverified training targets, unresolved members), which tells the agent what to expect from the call beyond the safety hints.

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?

Front-loaded with the resource definition, then the sibling exclusion, then the routing questions. It is appropriately sized and every sentence serves routing, though the trailing 'Answers:' clause slightly restates the purpose already stated.

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 read-only, 3-param, no-output-schema tool whose annotations carry the safety profile, the description covers purpose, contents, and sibling disambiguation adequately. Nothing essential to invoking it correctly is missing, though return shape or pagination behavior are left unstated.

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 limit, datasetId, and customerId are already fully documented in the schema (including the superadmin note on customerId). The description implies dataset scoping ('on this dataset') but adds no syntax or default details beyond the schema, so baseline 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?

Specific verb+resource (get_adjudication_queue) plus an enumeration of exactly what the queue contains: clusters with no decision in force, unverified training targets, and unresolved members. It explicitly distinguishes itself from the sibling get_review_queue, so an agent can tell them apart without opening either schema.

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?

Names the alternative it is not (get_review_queue = optimization PR queue) and states the questions it answers ('what needs adjudicating?', 'how much review is left?'), which routes the agent correctly. It gives clear positive usage and one exclusion, though it does not enumerate other sibling alternatives or broader when-not conditions.

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

get_agentGet AgentA
Read-only
Inspect

Get the full details of an agent including its system prompt, configuration, and metadata. Response includes role-family fields: agentType (the role), customer (the end-customer this instance serves), instanceCount (number of customers running this same agent), and siblings (the other instances). Many SaaS-style customers run the same agent across multiple end-customers — these fields make that visible.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to retrieve
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description goes further by disclosing what the response actually contains (system prompt, role-family fields like instanceCount and siblings), which is meaningful because no output schema exists — though it does not flag that the system prompt may be sensitive data.

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?

Front-loaded with the core action and return contents, then a short explanation of why the role-family fields matter. Two sentences, no filler, though the closing SaaS-style example is slightly discursive for a retrieval tool.

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?

With no output schema, the description carries the burden of describing returns and does so at a reasonable level: named fields (agentType, customer, instanceCount, siblings) plus the generic categories of configuration and metadata. It is nearly complete, needing only the sensitive-data caveat or a note about the customerId superadmin path.

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 both parameters (agentId, customerId with its superadmin-only note) are fully documented in the schema itself. The description adds no parameter-level detail — the word 'customer' appears only as a response field, not as guidance on the customerId parameter. Baseline 3 applies.

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 (get) and resource (agent) and enumerates what comes back: system prompt, configuration, metadata, plus role-family fields. This distinguishes it from list_agents (plural listing) and get_agent_status (status only), though neither sibling is named explicitly.

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 only implied — an agent can infer 'fetch full details' means use this rather than list_agents, but there is no explicit when-to-use statement, no exclusion against get_agent_status or analyze_agent, and no mention of prerequisites such as permissions needed to read a system prompt.

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

get_agent_statusGet Agent StatusB
Read-only
Inspect

Get the current status of an agent including optimization state and performance metrics

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to get status for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the agent knows this is a safe, local read. The description adds only the shape of the returned data (optimization state, performance metrics) and nothing about permissions, currency of the snapshot, 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?

A single front-loaded sentence with no filler; the key noun ('status of an agent') comes first and the payload detail follows. It earns its place but is minimal.

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 read-only getter with no output schema, the description gives a useful hint about returned fields, but it omits whether status is live or cached, and does not help disambiguate from get_agent. 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 both agentId and the superadmin-only customerId are fully documented in the schema. The description adds no further parameter meaning, which is the expected baseline 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?

States a clear verb ('Get') plus resource ('agent status') and names the payload contents (optimization state, performance metrics), which helps an agent predict the response. However, it does not differentiate itself from the sibling get_agent or get_model_optimization_status, so the agent must guess which retrieval tool to pick.

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 statement of when to use this tool versus the many other 'get_*' retrieval siblings (get_agent, get_model_optimization_status, analyze_agent), nor any prerequisites or exclusions. Usage is only implied by the name.

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

get_benchmark_statusGet Benchmark StatusA
Read-only
Inspect

Poll for benchmark job status and results. Returns activity-feed-style progress while running, full comparison with recommendation when complete.

NameRequiredDescriptionDefault
jobIdYesThe job ID returned by benchmark_models
customerIdNo(Converra superadmin only) Target customer ID.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral value by disclosing the staged return: progress feed while running, full comparison with recommendation when complete. This is the kind of lifecycle detail an agent needs to decide whether to re-poll.

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, zero filler, with the core action front-loaded and the return behavior following. Every clause carries 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?

There is no output schema, so the description must carry the return-value burden, and it does so at a high level (two distinct response states). Combined with annotations covering safety and a fully-documented schema, an agent can call it correctly; only the concrete fields of the comparison payload are left 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% and both parameters are documented in the schema, including the jobId provenance and the superadmin-only customerId. The description adds nothing beyond the schema on parameter meaning, so the baseline 3 applies.

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+resource: poll for benchmark job status and results. The 'benchmark' scope distinguishes it from the other status-getters (get_agent_status, get_simulation_status, get_model_optimization_status) in the sibling list. It stops short of explicitly naming a sibling, so it is clear but not maximally differentiated.

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 verb 'Poll' implies repeated invocation until completion, which is meaningful usage guidance for a status endpoint. However, it never states when to use this vs. alternatives or any prerequisite beyond the schema's 'job ID returned by benchmark_models' note. Context is implied rather than spelled out.

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

get_converra_roiGet Converra ROIA
Read-only
Inspect

Cumulative impact summary across all deployments. Shows total fixes shipped, issues resolved, aggregate failure reduction, and the most compelling before/after example. Answers: 'how is Converra helping?', 'what was fixed?', 'show me the impact'.

NameRequiredDescriptionDefault
daysNoLookback period in days (default: all time, max: 365)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. Since no output schema exists, the description usefully carries the return-value burden by enumerating the summary contents. It adds nothing about the superadmin auth requirement for customerId or rate/cost behavior, keeping it short of a 5.

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?

Front-loaded with the core purpose in the first sentence, with supporting detail second. The trailing quoted questions are somewhat redundant with the listed contents but serve intent-matching, so the description stays tight overall.

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 two-parameter, zero-required, read-only aggregate tool with no output schema, the description supplies the return-value summary an agent would otherwise lack. What is missing is sibling disambiguation and any note on how `days`/`customerId` scope the result, but the essentials for calling it correctly are present.

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 both `days` (lookback, max 365) and `customerId` (superadmin only) fully documented inline. The description contributes nothing beyond the baseline about parameters, so the standard baseline of 3 applies.

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 resource and scope: a cumulative impact summary across all deployments, listing exactly what it contains (fixes shipped, issues resolved, failure reduction, before/after example). It is clear and concrete, but it never names a sibling (e.g. get_deployment_impact or get_fleet_overview) to differentiate this aggregate view from the per-deployment or fleet views.

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 quoted user questions ('how is Converra helping?', 'show me the impact') imply when the tool is appropriate, which is useful intent-matching. However there is no explicit when-not guidance, no mention of the alternatives (get_deployment_impact, get_fleet_intelligence), and no note that days/customerId change the scope of what is returned.

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

get_datasetGet DatasetA
Read-only
Inspect

One dataset's cluster roll-up and review progress: every behavior cluster with its review state, the decision in force, and how its members resolved (admitted, rejected, unresolved, superseded). Candidates are not returned; use list_dataset_examples for per-example admission and get_review_case for one cluster's evidence. reviewProgress is measured over every cluster; only the rows are paged.

NameRequiredDescriptionDefault
limitNoMaximum cluster rows to return (default: 50, max: 200)
offsetNoCluster rows to skip (default: 0)
datasetIdYesDataset ID from list_datasets
customerIdNo(Converra superadmin only) Target customer ID
reviewStateNoFilter rows to one review state (optional)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavior: reviewProgress is computed over every cluster while only the rows are paged, which prevents a caller from misreading paginated results as a scoped aggregate.

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?

Three sentences, front-loaded with the primary return payload, then exclusions/alternatives, then the paging caveat. Dense but every clause carries information; slight verbosity in listing four member-resolution states inline.

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?

With no output schema, the description carries the return-shape burden and does so: it lists the cluster fields, names the excluded candidates, and explains paging vs aggregate scope. It does not mention the superadmin-only nature of customerId or auth requirements, a minor gap the schema partially covers.

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 the baseline is 3 and the schema already documents limit/offset/datasetId/customerId/reviewState. The description still adds meaning by clarifying that limit/offset page only cluster rows and do not bound the reviewProgress aggregate, which the schema alone does not convey.

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

Purpose5/5

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

States a specific verb+resource (get one dataset's cluster roll-up and review progress) and enumerates the returned fields: each behavior cluster's review state, the decision in force, and member resolution. It explicitly distinguishes itself from list_dataset_examples and get_review_case, so an agent can route without opening any schema.

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?

Names alternatives with the condition that selects them: candidates are not returned here, so per-example admission goes to list_dataset_examples and single-cluster evidence goes to get_review_case. It lacks an explicit 'use this when' framing relative to the other review-queue siblings, but the routing guidance is concrete and actionable.

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

get_deployment_impactGet Deployment ImpactA
Read-only
Inspect

See whether deployed fixes or model swaps worked in production, including parity verdicts, model IDs, score definition and estimated cost delta. Shows per-agent impact by default, or PR-grouped impact with view='pr'. Answers: 'did my fixes work?', 'what PR changed this?', 'show me PR impact'.

NameRequiredDescriptionDefault
repoNoFilter PR view to a repository full name, e.g. owner/repo
viewNoGroup results by agent (default) or PR
limitNoMaximum deployments to return (default: 10)
cursorNoCursor returned by a previous deployment impact call
statusNoFilter by verification status (optional)
agentIdNoFilter to a specific agent (optional — shows all agents if omitted)
customerIdNo(Converra superadmin only) Target customer ID
includeDirectNoIn PR view, include direct deployments with no PR

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered, and the description usefully adds that results include parity verdicts, model IDs, a score definition and an estimated cost delta, plus the default grouping behavior. It stops short of describing ordering, volume of results per deployment, or how status values are computed.

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 plus a short question list, front-loaded with the core capability before the view-mode detail. The question examples are slightly redundant with the opening sentence but still earn their place as routing cues; overall tight with no filler.

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?

With no output schema, the description correctly compensates by naming the payload contents (parity verdicts, model IDs, score definition, cost delta) and the default grouping. Pagination via cursor and the limit default live in the schema, but guidance on result ordering and how the eleven status values relate to the verdicts is left unstated.

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 every parameter including repo, view, limit, cursor and both enums is already documented in the schema. The description only restates the view='pr' grouping and the per-agent default, adding no syntax or behavioral detail beyond what the schema provides, 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?

Names a specific capability — verifying whether deployed fixes/model swaps worked in production — and enumerates the concrete artifacts returned (parity verdicts, model IDs, score definition, cost delta). It also distinguishes its two operating modes (per-agent default vs. PR-grouped), which lets an agent separate it from nearby siblings like get_pr_context and get_verification_evidence.

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 three quoted questions ('did my fixes work?', 'what PR changed this?', 'show me PR impact') give clear invocation contexts tied to the two view modes. However, it never names an alternative tool or states when NOT to use it, so an agent comparing it against get_pr_context or get_production_test must infer the boundary itself.

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

get_fine_tuning_projectGet Fine-Tuning ProjectA
Read-only
Inspect

The project workspace: the eight-step journey, the bound frozen dataset version, review progress, every training job's four independent facts (status, gate outcome, endpoint cleanup, spend) and the in-context approvals with their state. Gate elements appear as names and outcomes only; use get_gate_result for one verdict element by element.

NameRequiredDescriptionDefault
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses that gate elements appear as names and outcomes only (a truncation/limitation) and where to get the fuller detail.

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?

Front-loaded with the core payload description, then the gate limitation and alternative. Dense enumeration of contents but each clause carries information; no filler sentences.

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, so the description must convey return contents, and it does so in detail (journey, dataset version, progress, job facts, approvals), plus the partial-coverage caveat for gates. Combined with read-only annotations, an agent has enough to call 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 description coverage is 100%, with both projectId (from list_fine_tuning_projects) and customerId (superadmin only) documented in the schema itself. The description adds no additional parameter syntax or constraint, so the baseline of 3 applies.

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 resource (fine-tuning project), and the description specifies the composite contents returned: the eight-step journey, bound dataset version, review progress, training-job facts, and approvals. It differentiates from get_gate_result for the gate portion, but does not distinguish itself from siblings like get_training_job or list_fine_tuning_projects.

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?

It explicitly routes the agent to an alternative: 'use get_gate_result for one verdict element by element.' That is a concrete when-to-use-another-tool instruction. It lacks guidance on when to prefer this over other project-scoped getters, so not complete.

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

get_fleet_intelligenceGet Fleet IntelligenceA
Read-only
Inspect

Fleet-level failure patterns with business impact descriptions and fix verification status. Shows the most impactful issues across all agents, with before/after failure counts and 'Improved'/'Fixed' badges where Converra has deployed fixes. Answers: 'what are the biggest issues hurting my fleet?', 'what has Converra improved?', 'show me patterns with business impact'.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without description help. The description usefully adds that results are ranked by impact and include before/after counts and fix badges, which is real behavioral context. It stops short of describing pagination, ordering semantics, or whether the badges are computed live versus cached.

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 content is front-loaded: the first sentence states the resource and its key fields, and the badge/count detail follows. The three example questions are slightly redundant with each other but efficiently communicate intent. No filler sentences.

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?

There is no output schema, so the description must carry the return-value burden, and it does reasonably well by listing failure counts, business-impact descriptions, and fix-verification badges. Combined with the read-only annotations and 100% param coverage, an agent has enough to invoke it correctly, though ordering/pagination and fleet-scope framing remain 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 description coverage is 100% with a single documented parameter (customerId, noted as Converra-superadmin only), so the schema carries the parameter semantics fully. The description adds nothing about the parameter, which is the baseline 3 case when the schema does all the work.

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 names a specific resource (fleet-level failure patterns) and enumerates what it contains: business impact descriptions, fix verification status, before/after failure counts, and Improved/Fixed badges. This gives an agent a concrete picture of the tool's output. However, it never distinguishes itself from close siblings like get_fleet_overview, get_fleet_timeline, or get_insights, which an agent could easily confuse it with.

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 'Answers:' framing implies usage contexts ('what are the biggest issues hurting my fleet?', 'what has Converra improved?'), which gives implicit guidance on when to reach for it. But there is no explicit when-to-use-vs-alternatives statement, no mention of when NOT to use it, and no routing to get_fleet_overview/get_fleet_timeline/get_insights despite them being obvious contenders.

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

get_fleet_overviewGet Fleet OverviewA
Read-only
Inspect

Fleet-level dashboard showing all agents with their performance scores, run counts, failure rates, and deployment stats. The entry point for understanding agent health across the fleet. Answers: 'how are all my agents doing?', 'which agent needs attention?', 'what has Converra fixed?'

NameRequiredDescriptionDefault
sortByNoSort agents by score (worst first), run count, or name (default: score)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered structurally. The description adds real behavioral value by enumerating the returned dataset (scores, run counts, failure rates, deployment stats), which matters since no output schema exists; it does not mention pagination or volume 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 payload summary is front-loaded in the first sentence and the example questions are compact. The three-question list is slightly redundant with the opening statement but still earns its place by clarifying intent.

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?

With no output schema present, the description correctly takes on the burden of describing the return contents, and the annotations cover the safety profile. The only meaningful gap is that it doesn't distinguish this aggregate view from the other fleet-level tools an agent could pick instead.

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 both parameters (sortBy with its enum and customerId) are already fully documented in the schema. The description contributes nothing about sorting semantics or the superadmin scoping requirement, so the baseline 3 applies.

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 a specific verb+resource ('fleet-level dashboard showing all agents') and enumerates the metrics it exposes (performance scores, run counts, failure rates, deployment stats). It positions itself as the 'entry point' for fleet health, which helps, but it never names or contrasts with near-neighbors like get_fleet_intelligence, get_fleet_timeline, or list_agents.

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?

Concrete usage context is provided via the target questions it answers ('how are all my agents doing?', 'which agent needs attention?', 'what has Converra fixed?'), which clearly frames the when-to-use scenario. There are no explicit exclusions or named alternatives, so an agent must still infer that per-agent deep dives belong to get_agent/analyze_agent.

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

get_fleet_timelineGet Fleet TimelineA
Read-only
Inspect

Run-weighted score timeline aggregated across ALL agents in the fleet. Use when you need to answer 'how is the whole fleet trending over time?' instead of one agent at a time. Returns daily fleet-wide avg score, total run count per day, and the number of agents that contributed each day. Deployment markers are unioned across agents.

NameRequiredDescriptionDefault
daysNoNumber of days to look back (default: 30, max: 365)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world). The description adds substantive context beyond them: the specific aggregates returned (daily avg score, run count, contributing-agent count) and the fact that deployment markers are unioned across agents.

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 tight sentences, front-loaded with the scope, then the usage trigger, then the return contents. No filler and every sentence carries 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 the description compensates by enumerating the returned fields, so an agent knows what it gets back. It leaves minor gaps (e.g. how hours/missing days or empty fleets are handled) but is otherwise complete for a two-param 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 description coverage is 100%, so both parameters (days with default/max, customerId superadmin-only) are fully documented in the schema. The description adds nothing about parameter behavior, matching the baseline for schema-documented 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?

States a specific verb+resource (run-weighted score timeline aggregated across ALL agents in the fleet) and immediately differentiates from the per-agent sibling by contrasting fleet-wide vs 'one agent at a time'. An agent can distinguish it from get_score_timeline or get_agent without opening a schema.

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

Usage Guidelines4/5

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

Gives a clear when-to-use trigger ('how is the whole fleet trending over time?') and an implied exclusion of the single-agent case. It does not name the exact alternative tool (e.g. get_score_timeline), so routing is inferred rather than explicit.

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

get_gate_resultGet Gate ResultA
Read-only
Inspect

One frozen-gate verdict, element by element, with each element's own scalar measurements. The verdict is minted outside the app by the gate harness; this only reads what was recorded. A development dry run is never acceptance evidence and is labelled as such.

NameRequiredDescriptionDefault
jobIdYesTraining job ID
projectIdYesFine-tuning project ID from list_fine_tuning_projects
verdictIdNoWhich verdict to return. Defaults to the protected acceptance verdict, or the most recently recorded one when there is none.
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already carry the read-only safety profile, so the description earns credit for what it adds beyond them: the verdict is minted externally by the gate harness, this tool performs no computation of its own, and dev dry runs are labelled and must not be treated as acceptance evidence. That provenance/trust caveat is genuinely non-obvious behavioral context not found in the annotations.

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?

Three compact sentences, front-loaded with what is returned before the provenance caveat. Every sentence carries weight, though 'minted outside the app by the gate harness' is slightly ornate phrasing where plainer wording would serve an agent just as well.

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?

With no output schema, the description usefully compensates by describing the return shape (per-element verdict plus scalar measurements) and flags the trust distinction between dry-run and acceptance verdicts. It is largely complete for a read-only lookup; only the sibling routing and verdict-availability behavior are left implicit.

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%, including verdictId's default resolution to the protected acceptance verdict, so the schema does the heavy lifting and the baseline is 3. The description adds only the structural hint that the result is per-element with scalar measurements; it offers no extra detail on projectId, jobId, or customerId scoping.

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?

Specific verb+resource: it returns 'one frozen-gate verdict, element by element, with each element's own scalar measurements,' which is a concrete deliverable an agent can recognize. It implicitly separates itself from the write-side sibling record_gate_result by stating 'this only reads what was recorded,' but it never names a sibling outright, so the differentiation is inferred rather than explicit.

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 retrieval context (reading an already-minted verdict) but never states when to reach for this tool versus get_verification_evidence, get_adjudication_queue, or record_gate_result. The dry-run caveat ('never acceptance evidence and is labelled as such') is useful context but is a data caveat, not a when-to-use rule.

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

get_insightsGet InsightsB
Read-only
Inspect

Get aggregated performance insights for an agent based on run data

NameRequiredDescriptionDefault
daysNoNumber of days to look back (default: 30)
agentIdYesThe agent ID to get insights for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results are 'aggregated' and derived from run data, which hints at computed rather than raw values, but says nothing about staleness, caching, or whether a refresh is needed to see new insights.

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?

A single efficient sentence with no filler, and the core noun (aggregated performance insights) is front-loaded. It is arguably too terse given the crowded sibling space, but there is no wasted text.

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 read-only aggregation tool with no output schema and fully documented parameters, the minimum is met by the annotations plus schema. Still missing is the relationship to refresh_agent_insights / batch_regenerate_insights and any indication of what the aggregate contains, which an agent would need to choose correctly among the many insight siblings.

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%: agentId, days (with default 30), and the superadmin-only customerId are all documented in the schema. The description adds no extra parameter semantics, so baseline 3 applies.

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 ('Get aggregated performance insights') scoped to 'an agent' derived from 'run data', which is clearer than the bare title. However it never differentiates itself from close siblings like get_run_insights, refresh_agent_insights, or get_fleet_intelligence, leaving the agent to infer the level of aggregation.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as get_run_insights (per-run) or refresh_agent_insights (to regenerate). The agent must guess which insight-fetching tool to pick from a list of several.

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

get_integration_guideGet Integration GuideA
Read-only
Inspect

Get a step-by-step integration guide for connecting your LLM application to Converra. Describe your tech stack (e.g., 'Next.js with Vercel AI SDK', 'Python FastAPI with OpenAI', 'Voice agent with OpenAI Realtime API') and get the exact code, packages, and configuration needed.

NameRequiredDescriptionDefault
stackYesYour LLM tech stack — e.g., 'Vercel AI SDK with streamText', 'OpenAI Python SDK', 'Anthropic + LangChain', 'OpenAI Realtime/Voice API', 'webhook-based — I can POST runs when they end'
runtimeNo(Optional) Runtime environment — e.g., 'Node.js', 'Edge/serverless', 'Lambda', 'Vercel Functions'
agentNameNo(Optional) Name for your agent in Converra — e.g., 'Support Bot', 'Voice Receptionist'
frameworkNo(Optional) Web framework — e.g., 'Next.js', 'Express', 'FastAPI', 'Flask'

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description usefully adds that output is a generated, stack-tailored guide containing exact code, packages, and configuration. It does not disclose anything about how the guide is generated or its size/format, keeping it short of a 5.

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 purpose and then the input/output contract; no filler and every clause 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?

With no output schema, the description compensates by naming the deliverables (code, packages, configuration). Combined with full parameter coverage and a read-only annotation profile, an agent has enough to call it, though it could say more about output shape.

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 each parameter already carries rich examples, so the schema does the heavy lifting. The description only restates that 'stack' should describe your tech stack, adding no syntax or constraint detail 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?

States a specific verb+resource ('Get a step-by-step integration guide') scoped to connecting an LLM app to Converra, and it is readily distinguishable from siblings like verify_integration and list_integrations. An agent knows exactly what this returns.

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 implies the usage pattern (describe your stack, receive tailored code/packages/config) but never states when to reach for this versus verify_integration or list_integrations, nor any prerequisites or exclusions. Usage is inferable but not guided.

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

get_model_optimization_statusGet Model Optimization StatusA
Read-only
Inspect

Poll for model optimization job status and results. Returns progress while running, full report when complete.

NameRequiredDescriptionDefault
jobIdYesThe job ID returned by optimize_model.
customerIdNo(Converra superadmin only) Target customer ID.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare it is safe and read-only. The description adds important behavioral context beyond annotations: it returns interim progress while running and a full report when complete, indicating the response changes over the job lifecycle. It does not cover rate limits or polling cadence, but provides solid extra value.

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, front-loading the action and then clarifying the return behavior. 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?

For a read-only status tool with no output schema, the description summarizes what is returned at different stages. It could mention more about authentication or polling strategy, but given the rich annotations and complete schema descriptions, it is largely sufficient.

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 both jobId and customerId are already documented in the schema. The description adds no parameter-specific semantics beyond what is already provided, making the baseline of 3 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?

States a specific verb ('Poll') and resource ('model optimization job status and results'), clearly describing the tool's function. It does not explicitly distinguish itself from sibling tools like get_optimization_details, but the name and description together are 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 word 'Poll' implies the tool is used after starting an optimization job to check on it, but there is no explicit guidance on when to use this versus get_optimization_details or other status-related siblings, nor any stated exclusions.

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

get_optimization_detailsGet Optimization DetailsB
Read-only
Inspect

Get detailed information about an optimization run including variants, activities, and results

NameRequiredDescriptionDefault
processIdYesThe optimization process ID
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
includeActivitiesNoInclude activity log (default: true, set false for summary only)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without the description. The description adds value by naming the content categories returned and the includeActivities toggle behavior implied by the schema, but says nothing about authorization requirements or result size. Adequate, 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.

Conciseness4/5

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

A single tight sentence with the resource front-loaded and no filler. It is efficient, though it could have spent one clause on when to prefer it over sibling readers instead of purely enumerating return contents.

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 read-only detail fetcher with full schema coverage and annotations covering the safety profile, the description supplies the one thing the structured fields cannot: what the response contains. The lack of any usage routing is the only real gap, and there is no output schema to explain 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 description coverage is 100%, so processId, customerId, and includeActivities are already fully documented in the schema, making 3 the correct baseline. The description's mention of 'activities' loosely corresponds to includeActivities but adds no format or default information 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?

Specific verb (get) plus resource (optimization run details) and an enumeration of the payload (variants, activities, results), which tells an agent exactly what comes back. It does not explicitly differentiate itself from close siblings like get_variant_details or get_model_optimization_status, but the scope is unmistakable.

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 statement of when to reach for this tool versus list_optimizations, get_variant_details, or get_model_optimization_status, and no preconditions are given. Usage is only loosely implied by the word 'details', which is weak given how many overlapping read tools exist in this namespace.

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

get_personaGet PersonaB
Read-only
Inspect

Get full details of a specific persona including its description and usage stats

NameRequiredDescriptionDefault
personaIdYesThe persona ID to retrieve
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that results include description and usage stats, but says nothing about authorization scope (the superadmin customerId path lives only in the schema) or any 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?

A single front-loaded sentence naming the operation, the scoping ('specific'), and the payload. No filler, no restatement of the title.

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 read tool with full schema coverage and no output schema, the description covers what is retrieved and is safe to call. It stops short of tying the tool to a workflow (e.g. after list_personas), which is the only real 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 description coverage is 100%, so both parameters are already documented, including the superadmin-only semantics of customerId. The description adds no parameter-level meaning beyond what the schema provides, which is the expected baseline.

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 (get) and resource (persona), and 'full details ... including its description and usage stats' tells the agent what comes back. It does not explicitly contrast with list_personas or get_agent, but the word 'specific' implicitly signals single-record 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?

There is no when-to-use guidance and no named alternative. With list_personas and update_persona in the sibling set, the agent must infer on its own that this is the read-one-record counterpart, and nothing explains when persona details are needed versus agent details.

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

get_pr_contextGet PR ContextA
Read-only
Inspect

Comprehensive reviewer briefing for a specific deployment/PR. Returns everything needed to make a review decision in one call: issues fixed, what changed, simulation evidence, before/after example, metric breakdown, regression results, testing methodology, review guidance, previous feedback, and current agent failure patterns. Answers: 'tell me about this PR', 'should I merge this?', 'what does this fix?'.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
includeDiffNoInclude full baseline and variant prompt content in raw data (default: false — summary only)
deploymentIdYesThe deployment ID to get context for (from get_review_queue)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral value by enumerating the return payload (simulation evidence, before/after example, metric breakdown, review guidance, previous feedback, failure patterns), letting the agent anticipate output despite there being 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.

Conciseness4/5

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

The opening sentence front-loads the core purpose, and the long enumerated list of returned sections is dense but earns its place by replacing a missing output schema. The trailing question list is slightly redundant but useful for intent matching.

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 read-only retrieval tool with no output schema, the description compensates by spelling out exactly what the briefing contains and what questions it answers. Auth nuance is left to the schema's customerId note, so coverage is strong though not exhaustive.

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 deploymentId, customerId and includeDiff. The description adds no parameter-level detail beyond what the schema provides, so the baseline 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?

States a specific verb+resource ('Get PR Context') and immediately names the scope: a comprehensive reviewer briefing for a specific deployment/PR. The enumerated contents (issues fixed, what changed, simulation evidence, regression results, etc.) make it unambiguous which sibling this is versus read tools like get_review_case or get_verification_evidence.

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 concrete user intents ('tell me about this PR', 'should I merge this?', 'what does this fix?') and stresses 'one call', implying it consolidates what would otherwise be multiple lookups. It stops short of naming an alternative tool or an explicit when-not condition, so it is clear context without exclusions.

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

get_production_testGet Production TestB
Read-only
Inspect

Get production A/B test status, arm counts, and decision state.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
productionTestIdYesThe production test ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description contributes the return facets (arm counts, decision state), but says nothing about freshness, cost, or errors for a missing test ID. Adds some value over annotations, but not rich 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?

A single front-loaded sentence with no filler; the operation and its output facets come first. It is efficient, though it is so brief that it omits any routing or caveat 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?

With no output schema, the description does the right thing by enumerating what comes back (status, arm counts, decision state). Combined with full schema coverage and read-only annotations, an agent has enough to call this correctly, though sibling disambiguation is still missing.

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 both parameters, including the '(Converra superadmin only)' qualifier on customerId, so the schema carries the burden. The description's phrase 'production A/B test' loosely maps to productionTestId but adds no syntax, format, or scoping detail 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?

States a specific verb ('Get') and resource ('production A/B test') plus the three data facets it returns (status, arm counts, decision state). This distinguishes it from the write-oriented siblings promote_production_test, rollback_production_test, and start_production_test, though it never names an alternative 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?

There is no when-to-use guidance, no prerequisites, and no mention of related tools such as get_variant_details or get_benchmark_status. The agent must infer that this is the read counterpart to the production-test lifecycle tools.

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

get_regression_suiteGet Regression SuiteA
Read-only
Inspect

Get the regression test suite for an agent, including scenario details, source tracking (synthetic vs reproduction from production failures), and baseline scores. Use this to understand what scenarios guard against regressions during optimization.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to get the regression suite for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, non-destructive, and non-open-world, so the safety profile is covered. The description adds useful content-shape context (source tracking indicates synthetic vs production-reproduction origin) but says nothing about auth needs, rate limits, or behavior beyond the annotations.

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 what is retrieved and what is returned, with no filler. Slightly dense but every clause carries 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 read tool with no output schema, the description adequately signals what is returned (scenarios, source tracking, baseline scores) and the annotations carry the safety profile. Auth and response-shape specifics remain thin, but nothing critical for correct invocation is missing.

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 both agentId and the superadmin-restricted customerId are already documented in the schema. The description adds no syntax, format, or constraint detail beyond that baseline.

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 (Get) and resource (regression test suite for an agent), then enumerates the payload contents (scenario details, source tracking, baseline scores). It implicitly separates itself from add_regression_scenarios and regression_test by being the read path, but no sibling is named explicitly.

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?

"Use this to understand what scenarios guard against regressions during optimization" gives a clear when-to-use context, but offers no exclusions or named alternatives (e.g. vs regression_test or get_production_test).

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

get_review_caseGet Review CaseA
Read-only
Inspect

One cluster's review case: the representative candidate with its finding, evidence, proposed training target and independent verification; the contrasting verified success when one exists; the decision history; and a page of members. Members are paged because a cluster can hold hundreds.

NameRequiredDescriptionDefault
clusterIdYesCluster ID from get_adjudication_queue or get_dataset
customerIdNo(Converra superadmin only) Target customer ID
memberLimitNoMembers to return (default: 10, max: 50). membersTotal reports the full count.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish this is a safe, non-destructive read, so the bar is lower. The description adds real value anyway by disclosing the response shape (verification, decision history, members) and the paging behavior — members are paged because a cluster can hold hundreds — which is the kind of behavioral detail annotations do not supply.

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 resource and its contents are front-loaded in the first sentence, with a short second sentence justifying paging. It is dense but each clause names a distinct field of the returned case, so little is wasted.

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?

With no output schema, the description carries the return-value burden and does so by enumerating the case's components and explaining the paging constraint. The main remaining gap is the absence of usage/routing context for a tool whose id comes from a queue or dataset.

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 clusterId, customerId, and memberLimit are already documented, including defaults and max. The description only loosely echoes 'a page of members', adding no syntax or format detail beyond the schema, so baseline 3 applies.

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 identifies the resource and its scope: one cluster's review case, enumerating what the case contains (representative candidate, finding, evidence, training target, verification, decision history, members). It is distinguishable from get_review_queue and get_adjudication_queue by being singular and case-focused, though it never states the retrieving verb explicitly or names those siblings.

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 when-to-use guidance or mention of alternatives. An agent is not told to call this after get_adjudication_queue or instead of get_review_queue; the only routing hint (clusterId comes from get_adjudication_queue or get_dataset) lives in the schema, not the description.

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

get_review_queueGet Review QueueA
Read-only
Inspect

Prioritized list of pending optimization PRs/deployments that need human review. Shows the most impactful items first, ranked by issue severity, simulation evidence strength, wait time, and agent run volume. Answers: 'what should I review?', 'any pending PRs?', 'what needs my attention?'.

NameRequiredDescriptionDefault
limitNoMaximum items to return (default: 10, max: 25)
agentIdNoFilter to a specific agent (optional — shows all agents if omitted)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description usefully adds the ranking criteria (severity, simulation evidence strength, wait time, run volume), but says nothing about pagination, limits, or freshness beyond what the schema states.

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?

Front-loads the resource and scope in the first sentence, with ranking detail second. The trailing list of paraphrased user questions is somewhat redundant filler, but overall it is tight.

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?

With no output schema, the description carries the burden of describing returns and does so — pending PRs/deployments, their priority ordering, and what the ordering is based on. Missing only edge behavior like what happens when the queue is empty or how items expire.

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 all three parameters (limit, agentId, customerId) are documented in the schema, including defaults, maxima, and the superadmin restriction. The description adds no parameter information, so baseline 3 applies.

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?

Names a specific resource and scope: a prioritized list of pending optimization PRs/deployments needing human review. Clear verb+resource, but it does not distinguish itself from nearby siblings like list_pending_approvals, get_adjudication_queue, or get_review_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?

The quoted user questions ('what should I review?', 'any pending PRs?') imply when to reach for it, but no explicit when-not conditions or alternative tools (e.g. get_adjudication_queue vs. list_pending_approvals) are offered.

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

get_runGet RunA
Read-only
Inspect

Get full details of a specific run including insights. Look up by Converra run ID or by external session ID (e.g. LangSmith/Langfuse session_id).

NameRequiredDescriptionDefault
sessionIdNoExternal session ID (LangSmith/Langfuse session_id or Converra SDK sessionId). Used only when conversationId is not provided.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdNoThe Converra run ID
includeInsightsNoInclude run insights (default: true)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that insights are part of the payload, but that is also stated in the schema for includeInsights, so it contributes little beyond structured fields; return shape and any permission notes 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.

Conciseness5/5

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

Two sentences, zero filler, with the core action and payload front-loaded and the lookup mechanism immediately after. Every clause carries 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 read-only getter with 100% schema coverage and no output schema, the description covers action, payload, and lookup key. The one soft spot is that no parameter is required, so an agent could call with zero arguments; the 'look up by X or Y' phrasing mitigates this but does not spell out the either/or requirement.

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 all four parameters are already documented, including the LangSmith/Langfuse example and the conversationId-preferred rule. The description only restates those two lookup modes, adding no syntax or format detail beyond the schema — baseline 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?

States a specific verb and resource ('Get full details of a specific run') plus the scope of what comes back ('including insights'). It clarifies the two lookup keys, which helps separate it from list_runs and the insight-specific siblings, but it never names an alternative tool explicitly.

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 implies when the tool applies ('Look up by Converra run ID or by external session ID') and effectively tells the agent that one of the two identifiers is needed. However, it gives no guidance on when to prefer this over get_run_insights, get_run_step_diagnosis, or list_runs, and no exclusions.

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

get_run_calibration_reviewGet Run Calibration ReviewA
Read-only
Inspect

Get the next canonical evidence-bound calibration question for a run. Returns exact publication and question hashes required to record the answer.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
conversationIdYesRun whose active insight publication to review

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the call returns a sequential 'next' question and the exact publication/question hashes needed for a downstream write. It does not state whether fetching advances/cursors the question or what happens when none 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?

Two tight sentences with no filler, front-loading what the tool returns and following with the downstream requirement. Every clause carries 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?

With no output schema, the description does the work of describing the return value (the question plus the publication and question hashes). It stops short of explaining the response shape or the exhausted-queue case, which for a read tool is a minor 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 description coverage is 100%, with conversationId and customerId both documented in the schema (including the superadmin-only constraint). The description adds no additional parameter meaning, so the 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 gives a specific verb (Get) and resource (the next canonical evidence-bound calibration question for a run), which is far more precise than the name alone. It does not explicitly name the complementary sibling record_run_calibration_review, so the get-vs-record distinction is left to the reader.

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 phrase 'required to record the answer' implies the calling context (fetch hashes, then record), but there is no explicit when-to-use statement or exclusion relative to siblings like get_review_case or get_review_queue. Usage must be inferred from the workflow hint.

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

get_run_finding_contextGet Run Finding ContextB
Read-only
Inspect

Get bounded grounding context for reviewing a run finding: transcript, latest insight, trusted prompt snapshot status, architecture context, and agent prior dismissed feedback.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdYesThe ID of the run whose finding context to load
responderRunIdNoOptional exact responder run ID. When present, runtime evidence is selected by this run instead of taking the first bounded contexts.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured fields. The description's only added behavioral signal is the word 'bounded', hinting at capped/summarized context, but it never explains what bounds are applied, whether results are truncated, or how the optional responderRunId changes evidence selection (that detail lives only in 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.

Conciseness4/5

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

A single front-loaded sentence with a dense but purposeful list; no filler or restated title. The list of bundled artifacts is long enough to be slightly heavy to parse, but every item conveys distinct content.

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?

With no output schema, the description does the work of enumerating return contents, which is genuinely useful. It remains incomplete on the 'bounded' contract (size limits, truncation, ordering) and gives no guidance on how the context should be consumed for the review decision, so an agent has the intent but not the full operational picture.

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 all three parameters carry their own descriptions, including the nuanced responderRunId behavior and the superadmin-only customerId. The description adds no parameter-level 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.

Purpose4/5

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

The description states a specific verb ('Get') and resource ('grounding context for a run finding') and enumerates exactly what is bundled: transcript, latest insight, prompt snapshot status, architecture context, and dismissed feedback. That enumeration clearly separates it from siblings like get_run_insights or get_run_step_diagnosis, though it never names those alternatives explicitly.

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 phrase 'for reviewing a run finding' implies the usage context, and the tool is evidently a read-side companion to the review flow. However, there is no explicit when-to-use versus when-not guidance, no mention of prerequisites, and no routing to sibling tools such as preview_run_finding_prompt_diff or get_run_calibration_review that an agent might confuse it with.

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

get_run_insightsGet Run InsightsB
Read-only
Inspect

Get detailed insights for a specific run, including metrics, findings, terminal status, and the activePublication CAS target required for an external generation write.

NameRequiredDescriptionDefault
sessionIdNoExternal session ID (LangSmith/Langfuse session_id or Converra SDK sessionId). Used only when conversationId is not provided.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdNoThe ID of the run to get insights for

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds one genuinely useful behavioral fact beyond annotations — that the response carries the activePublication CAS target needed for an external generation write — but omits auth/superadmin scoping behavior and any pagination or size characteristics.

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?

A single front-loaded sentence that wastes no words and leads with the core action. It is arguably too compressed for the payload it promises, but every clause 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?

No output schema exists, yet the description compensates by naming the return contents (metrics, findings, terminal status, CAS target). With annotations covering the safety profile and the schema covering all parameters, the definition is close to complete; only the sibling-routing and auth context are missing.

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 all three parameters (sessionId, customerId, conversationId) are already fully documented in the schema, including the sessionId-vs-conversationId precedence rule. The description adds nothing about parameter usage, so the baseline 3 applies.

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 ('Get detailed insights for a specific run') and enumerates the payload (metrics, findings, terminal status, CAS target). It is clear what it does, but it never distinguishes itself from close siblings like get_insights, get_run, or get_run_finding_context, so an agent must infer the boundary.

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 when-to-use guidance, no prerequisites, and no routing to alternatives among the many get_* siblings. The mention that the CAS target is 'required for an external generation write' implies a downstream step but never names publish_external_run_insight_generation or says when to call this tool instead of get_run.

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

get_run_step_diagnosisGet Run Step DiagnosisA
Read-only
Inspect

Get step-level failure diagnosis for a run. Shows which step first failed, cascade effects, root cause hypothesis, and per-turn timeline. Available for all runs (uses trace data when available, otherwise transcript-based diagnosis).

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdYesThe ID of the run to diagnose

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context by disclosing the data-source fallback (trace data when available, otherwise transcript-based diagnosis), which affects reliability and completeness of results.

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 tight sentences, front-loaded with the core purpose and followed by outputs and availability caveat. No filler or redundant restatement of the title.

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?

With no output schema, the description usefully summarizes what the diagnosis returns and notes the data-source fallback, which is enough for an agent to call it correctly. The only gap is the absence of guidance against related diagnosis/insight siblings.

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 both parameters (customerId superadmin note and conversationId) are fully documented in the schema. The description adds no additional parameter meaning beyond what the schema provides, so baseline 3 applies.

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 a specific verb and resource ('get step-level failure diagnosis for a run') and enumerates the concrete outputs (first failed step, cascade effects, root cause, per-turn timeline). It implicitly differentiates from the sibling get_step_failure_aggregation by being per-run and diagnostic rather than aggregate, but never names that sibling explicitly.

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 states availability ('Available for all runs') and a fallback mode, which implies usage context, but gives no explicit when-to-use vs. alternatives despite close siblings like get_step_failure_aggregation, get_run_insights, and get_run. The agent must infer which diagnosis tool to pick.

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

get_score_timelineGet Score TimelineA
Read-only
Inspect

Daily score timeline for an agent over a date range, with deployment markers showing when PRs were merged. Answers: 'did overall performance improve after our fixes?', 'show me the score trend', 'what happened to scores this week?'

NameRequiredDescriptionDefault
daysNoNumber of days to look back (default: 30, max: 365)
agentIdYesThe agent ID to get the timeline for
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral content beyond that: the data is daily-granular and the timeline includes deployment markers tied to merges, which tells the agent what the output will let it reason about.

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?

Front-loaded with what the tool returns, then a compact set of example prompts. Every sentence earns its place; no filler or restatement of the title.

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 read-only analytics tool with a fully documented schema and no output schema, the description covers what is returned (daily scores, deployment markers) and the questions it answers. An agent has enough to select and call 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 description coverage is 100%, with defaults and max documented for 'days' and the superadmin-only note on 'customerId'. The description only restates 'over a date range' and adds no format or scoping nuance beyond the schema, so the baseline 3 applies.

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+resource ('daily score timeline for an agent over a date range') plus an extra distinguishing feature (deployment markers for merged PRs). It is clearly an agent-scoped read, which implicitly distinguishes it from the fleet-level sibling get_fleet_timeline, though it never names that sibling.

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 three quoted example questions ('did overall performance improve after our fixes?', 'show me the score trend') give concrete context for when to reach for this tool. There is no explicit when-not guidance or named alternative (e.g. get_deployment_impact, get_fleet_timeline), so it stops short of a 5.

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

get_settingsGet SettingsC
Read-only
Inspect

Get account settings including general preferences and optimization configuration

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no extra behavioral context such as whose settings are returned by default, whether the customerId impersonation changes scope, or any auth/permission note beyond what the schema states.

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?

A single front-loaded sentence with no filler or repetition. It is appropriately sized for a simple read tool, though it stops short of adding the structural pointers (scope, defaults) that would make it maximally useful.

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?

There is no output schema, so the description should ideally indicate what 'settings' contains; it does so only at a high level ('general preferences and optimization configuration'). Adequate for a one-parameter read tool with full annotation and schema coverage, but not rich.

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 sole parameter (customerId) is fully documented as superadmin-only acting-on-behalf-of. The description contributes nothing about the parameter, so the schema carries the load and the baseline 3 applies.

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 (get) and resource (account settings) and even enumerates the two content areas: general preferences and optimization configuration. It is distinguishable from update_settings by the read verb, though it does not explicitly differentiate itself from the similarly named get_account sibling.

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 when-to-use guidance, no prerequisites, and no mention of the obvious alternative update_settings for modifying these settings. The agent must infer usage entirely from the name.

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

get_simulation_statusGet Simulation StatusA
Read-only
Inspect

Get the status and results of an async simulation job. Use this to poll for completion after calling simulate_agent or simulate_ab_test.

NameRequiredDescriptionDefault
jobIdYesThe simulation job ID returned by simulate_agent or simulate_ab_test
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safe-read profile is covered structurally. The description adds genuine behavioral context by framing the resource as an async job that must be polled for completion, implying repeated idempotent calls and possibly incomplete results. It does not describe failure/expiry states or what the returned result payload looks like, so the addition is real but modest.

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 filler, purpose stated first and the usage trigger second. 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?

For a read-only polling getter with full schema coverage and no output schema, the description covers what the tool does and when to call it. It could mention what happens while the job is still running (e.g., status values) but nothing essential to invoking it correctly is missing.

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 jobId and customerId are already documented, including that jobId comes from simulate_agent/simulate_ab_test and that customerId is superadmin-only. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.

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 (get status/results of an async simulation job) and ties the resource to the two sibling tools that create such jobs. An agent can tell it apart from other status getters like get_agent_status or get_benchmark_status, though the differentiation rests on the referenced simulate_* calls rather than an explicit contrast.

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?

"Use this to poll for completion after calling simulate_agent or simulate_ab_test" gives clear, actionable context for when to invoke it. There is no explicit when-not guidance, but the polling framing is specific enough that an agent knows the trigger condition.

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

get_step_failure_aggregationGet Step Failure AggregationA
Read-only
Inspect

Get fleet-level step failure patterns across all diagnosed runs for an agent. Shows failure type distribution, root cause categories with guidance, agent-type breakdown, and optimization suggestions. Use this to answer 'what are my top failure patterns?' or 'which agent steps are causing the most failures?'.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to aggregate failures for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds useful output-content context (what categories are returned) but says nothing about permissions, aggregation window, or cost, so the marginal behavior disclosure is moderate.

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?

Three sentences, front-loaded with the core purpose, then the returned content, then usage scenarios. No filler, though the example-question sentence is somewhat verbose relative to the information it adds.

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?

There is no output schema, so the description carries the burden of describing return values, which it does by listing the four content categories. Combined with the annotation coverage for safety, this is largely complete; only the lack of any note on aggregation scope/time window or auth implications leaves a minor 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 description coverage is 100%: agentId and the superadmin-only customerId are both documented in the schema. The description adds no parameter-level meaning (no scope semantics for agentId, no mention of customerId impersonation), so the baseline 3 for schema-documented params applies.

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 ('Get ... step failure patterns') with clear scope ('fleet-level ... across all diagnosed runs for an agent'), and enumerates the displayed content (failure types, root causes, agent-type breakdown, suggestions). It does not explicitly differentiate itself from adjacent analytic siblings such as get_fleet_intelligence, get_run_step_diagnosis, or get_insights, so it lands just below 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 Guidelines4/5

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

Gives explicit use-case framing via example questions ('what are my top failure patterns?', 'which agent steps are causing the most failures?'), which tells the agent when to reach for it. However, it names no alternatives or exclusions, so the agent must infer it versus other failure/analysis tools.

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

get_stream_urlGet Stream URLA
Read-only
Inspect

Get the SSE stream URL for real-time optimization updates. Connect to this URL with EventSource for live progress.

NameRequiredDescriptionDefault
processIdYesThe optimization process ID to stream

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description usefully adds that the return value is an SSE endpoint consumed via EventSource, which cannot be inferred from structured fields. It says nothing about URL lifetime, auth requirements, or what event types flow over the stream, which are the open behavioral questions for a signed-stream-URL 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 short sentences, zero filler, and the core purpose is front-loaded ahead of the practical instruction. Every clause 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?

There is no output schema, and the description correctly compensates by explaining what is returned (an SSE URL) and how to consume it. What remains unstated — URL expiry, auth, event payload shape — is minor for a simple one-parameter lookup, but keeps it from a 5.

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 single processId parameter is fully documented in the schema, so the baseline is 3. The description adds no extra semantics for the ID (e.g. where it comes from or how to obtain it).

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+resource ('Get the SSE stream URL') scoped to 'real-time optimization updates', which distinguishes it from sibling readers like get_model_optimization_status and get_optimization_details. It does not name a sibling explicitly, so it falls just short of 5.

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?

'Connect to this URL with EventSource for live progress' gives clear context for when this tool is the right call — live streaming rather than one-shot status polling (e.g. get_model_optimization_status). No explicit exclusions or named alternatives, so not a 5.

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

get_trace_lineageGet Trace LineageA
Read-only
Inspect

Get the runtime trace lineage for a traceId: the trace(s) that spawned it (ancestors), the trace itself, and the traces it spawned (children). Use this to navigate multi-trace workflows, for example a design run that spawned an interview run. Each trace may map to multiple runs (multi-agent).

NameRequiredDescriptionDefault
traceIdYesThe runtime trace ID to resolve lineage for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this as a safe read operation (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds genuine non-obvious behavior: each trace may map to multiple runs because of multi-agent execution, which the agent cannot infer from the schema or 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?

Three tight sentences, front-loaded with the primary definition of the operation, followed by the use case and the multi-agent caveat. No filler and nothing repeated from structured fields.

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?

With no output schema, the description carries the burden of explaining the return shape, and it does so by enumerating ancestors/self/children and flagging the multi-run mapping. That is adequate for a two-parameter read tool, though it omits ordering or pagination details for the lineage.

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 both traceId and customerId are already documented in the schema, including the superadmin-only constraint on customerId. The description adds no syntax or format detail 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?

States a specific verb (get) and resource (runtime trace lineage) and immediately defines what lineage means: ancestors, the trace itself, and children. This is clearly distinguishable from siblings like get_run or get_run_finding_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?

Gives an explicit use case ('navigate multi-trace workflows, for example a design run that spawned an interview run'), which tells the agent when this tool applies. It stops short of naming an alternative tool or stating when NOT to use it, so it falls below the 5 bar.

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

get_training_jobGet Training JobA
Read-only
Inspect

One training job's four independent facts plus its hash-bound receipts. A job can be done with a failed gate and a verified endpoint deletion at once — these never collapse into one status. Gate verdicts are listed by id and outcome; get_gate_result returns one in full.

NameRequiredDescriptionDefault
jobIdYesTraining job ID
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds genuinely non-obvious behavior: the four facts are independent and never collapse into one status, so a job can simultaneously be 'done with a failed gate' and have a verified endpoint deletion, and receipts are hash-bound. This prevents an agent from misreading the response as a single aggregate status.

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?

Three dense sentences with no filler, front-loaded with the payload structure and followed by the semantic caveat and the sibling routing. The tradeoff is that compression into terms like 'four independent facts' costs comprehension.

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?

With no output schema, the description carries the burden of describing return values, and it does name the shape (four facts plus receipts) and the gate-verdict listing format. It is not fully complete because 'four independent facts' is never enumerated, leaving the agent to infer the actual field set.

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 all three parameters (jobId, projectId, customerId with its superadmin caveat) are already documented in the schema. The description adds nothing about parameters, so the baseline of 3 applies.

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 conveys that this returns one training job's data, and it names the sibling it differs from (get_gate_result). However, it never states the action explicitly ('retrieve/fetch a job') and leans on undefined product jargon — 'four independent facts' and 'hash-bound receipts' — that an agent cannot decode without prior knowledge of this domain.

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?

It gives explicit routing: use this tool to see gate verdicts listed by id and outcome, use get_gate_result when you need one verdict in full. That is a concrete this-vs-alternative rule. It stops short of a full 5 because there is no guidance on when not to call it or on prerequisites for the superadmin-only customerId path.

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

get_usageGet UsageB
Read-only
Inspect

Get current usage statistics including tokens, improvements, and plan limits

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered externally. The description adds which categories of data come back (tokens, improvements, plan limits), which is modest added value, but says nothing about auth scope, rate limits, or return shape.

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?

One compact sentence with the resource stated first and the returned categories following. No filler, though it could have used the space to name a sibling or a usage condition.

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-required-parameter read tool with no output schema, the description covers the essential question of what data is returned. Missing pagination/format details are minor here since the tool takes no meaningful input and annotations confirm a safe read.

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 single customerId parameter is fully documented as a Converra-superadmin impersonation field, so the schema does the heavy lifting. The description adds no parameter information at all, which is acceptable at this coverage 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?

States a specific verb ('Get') and resource ('usage statistics') and enumerates the three data categories returned, so the agent knows what it retrieves. It does not differentiate itself from nearby read tools like get_account, get_settings, or get_converra_roi, which is the only thing keeping it from 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?

There is no guidance on when to call this versus alternatives such as get_account or get_converra_roi, and no prerequisites mentioned. The description only says what it returns, leaving the agent to infer the use case.

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

get_variant_detailsGet Variant DetailsA
Read-only
Inspect

Get detailed comparison of all variants from an optimization run, including metrics and content differences

NameRequiredDescriptionDefault
processIdYesThe optimization process ID
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that the tool compares ALL variants and returns metrics plus content differences, which is useful context, but it discloses nothing about auth requirements (beyond the schema's customerId note), result size, or pagination.

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?

A single front-loaded sentence that immediately states the action and its output, with no filler. It is efficient though terse, and could have spent one more clause on 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?

No output schema exists, so the description carries the return-value burden and does name the comparison output (metrics and content differences). Combined with annotations covering the safety profile and 100% schema coverage of the two parameters, an agent has enough to call 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 description coverage is 100%, so both processId and the Converra-superadmin customerId are already documented in the schema. The description adds no parameter syntax or format detail beyond that, which matches the baseline of 3 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?

States a specific verb and resource ('Get detailed comparison of all variants from an optimization run') and names the returned scope (metrics and content differences). However, it does not explicitly distinguish itself from close siblings like get_optimization_details or validate_variant, so an agent must infer the boundary.

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 by 'from an optimization run', letting the agent know the processId must reference an optimization process. There is no explicit when-to-use, when-not-to-use, or named alternative among the many optimization-related siblings.

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

get_verification_evidenceGet Verification EvidenceA
Read-only
Inspect

Show the actual runs behind a verification claim. Model swaps return persisted pre/post scored cohorts, model IDs, score definition and estimated cost delta without requiring an issue index. For prompt fixes, a deployment ID and issue index return the pre/post failure runs. Answers: 'show me the proof', 'which runs had this issue?', 'back up this claim'.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
issueIndexNoWhich targeted issue to show evidence for (0-based, default: 0)
deploymentIdYesThe deployment ID to get evidence for

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description goes beyond them, disclosing what is returned in each mode (persisted pre/post scored cohorts, model IDs, score definition, cost delta) and the notable constraint that model swaps work 'without requiring an issue index'.

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?

Four sentences, front-loaded with the core purpose before mode-specific detail and example queries. Dense but every sentence carries signal; no filler or restatement of the title.

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?

With no output schema, the description carries the return-value burden and does so by naming the payloads for both modes. The superadmin-only customerId is only covered by the schema, not the description, which is a minor gap for a 3-param 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 conditional semantics that the schema does not: issueIndex is unnecessary for model swaps but is required alongside deploymentId for prompt fixes. This meaningfully guides parameter combination beyond the flat per-parameter text.

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: 'Show the actual runs behind a verification claim.' It clarifies the two distinct modes (model swaps vs. prompt fixes), which separates it from generic run lookups like get_run. It never names a sibling alternative directly, so it stops short of full differentiation.

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 contextual triggers, including the phrasing 'show me the proof', 'which runs had this issue?', and 'back up this claim'. It also ties usage to input combinations (model swaps need no issue index; prompt fixes need deployment ID + issue index). It does not state when to prefer an alternative tool or any exclusions.

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

get_webhookGet WebhookA
Read-only
Inspect

Get details of a specific webhook including delivery statistics

NameRequiredDescriptionDefault
webhookIdYesThe webhook ID to retrieve
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered without the description. The description adds one piece of value beyond that: the return includes delivery statistics. It does not cover auth requirements or other behavioral traits, so it sits at an adequate 3.

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 front-loaded sentence that names the resource and the notable return content. No filler, nothing to trim.

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, annotation-covered read tool with no output schema, the description tells the agent the target resource and that delivery statistics are returned. It is complete enough to invoke correctly, though it could note the superadmin scope of customerId to be fully self-contained.

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 both parameters (webhookId and the superadmin-only customerId) are already fully documented in the schema. The description adds no syntax, format, or scoping detail beyond it, which is the baseline-3 case.

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 ('Get details of a specific webhook'), and the phrase 'specific webhook' implicitly distinguishes it from the sibling list_webhooks. However, it does not explicitly name that sibling or spell out the relationship, so sibling differentiation is left to inference.

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 only implied: 'a specific webhook' signals single-resource retrieval versus list_webhooks, but there is no explicit when-to-use, when-not-to-use, or named alternative. A minimum-viable 'retrieve one by ID' context.

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

get_worst_runGet Worst RunA
Read-only
Inspect

Return the worst recent run(s) — the landing call for 'what's broken right now'. With agentId: returns the single worst run for that agent. Without agentId: returns worst-per-agent across the fleet (one entry per agent). Each result includes the canonical accepted claim and its exact occurrence evidence.

NameRequiredDescriptionDefault
agentIdNoOptional. Scope to a specific agent. Omit for fleet-wide worst-per-agent.
customerIdNo(Converra superadmin only) Target customer ID
windowDaysNoDays to look back (default 14, max 90)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description rightly spends its budget elsewhere: it discloses the two distinct return shapes (single worst run vs one entry per agent) and the payload contents (canonical accepted claim plus exact occurrence evidence). It does not mention result caps or pagination for the fleet-wide mode, which is the remaining 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?

Three tight sentences with zero filler; the core purpose and routing cue are front-loaded and the two parameter-dependent behaviors are contrasted compactly in the middle.

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?

With no output schema, the description carries the burden of describing returns and does so (canonical accepted claim, occurrence evidence, per-agent entries). The defaults and limits for windowDays and any cap on fleet-wide results are left to the schema, which is acceptable, but the per-agent result cardinality could be more explicit.

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 agentId semantics the description restates ('returns the single worst run for that agent' / 'worst-per-agent across the fleet') are already present in the schema text. The description adds no syntax, format, or defaults beyond what the schema documents, so the baseline 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?

States a specific verb and resource ('Return the worst recent run(s)') and immediately frames the scope of ambiguity with the agentId branch. It is easily distinguished from siblings like get_run, list_runs, and fix_worst_run because it names the aggregate concept ('worst') rather than a plain retrieval or a mutation.

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?

Positions itself as 'the landing call for what's broken right now', which is a clear use cue, and the with/without agentId branches tell the agent which mode to pick. It does not explicitly name alternatives or when-not-to-use cases (e.g., reach for fix_worst_run once you have the result), so it stops short of a 5.

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

list_agentsList AgentsA
Read-only
Inspect

List all agents for the authenticated customer. Each agent has agentType (the role, e.g. 'Discovery Agent'), customer (the end-customer this instance serves, e.g. 'anodot'), and instanceCount (how many of the customer's agents share this role). When instanceCount > 1, the same role runs across multiple end-customers — the response includes a 'Role families' rollup making this shape explicit.

NameRequiredDescriptionDefault
limitNoMaximum number of agents to return (default: 20)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
includeVariantsNoInclude variant agents in results (default: false)

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly/destructive/openWorld hints, so safety is covered. The description goes further and explains the response shape (agentType, customer, instanceCount) and the 'Role families' rollup triggered when instanceCount > 1, which is real behavioral context since no output schema exists.

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?

Three sentences, front-loaded with the core action, then response semantics. The detail about instanceCount and the rollup earns its place given there is no output schema, though it could be tightened.

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 read-only list tool with no output schema, the description usefully documents the returned fields and the multi-instance rollup. It omits any mention of pagination despite the limit parameter, a minor 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 description coverage is 100%, so limit, customerId, and includeVariants are already documented in the schema. The description adds nothing about these parameters, so baseline 3 applies.

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+resource ('List all agents') scoped to the authenticated customer. It does not explicitly distinguish itself from the singular get_agent sibling, but the plural 'all' and the customer scoping make the intent clear 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 on when to use this vs get_agent or the many other list_* siblings, and no stated prerequisites or exclusions. The 'authenticated customer' scoping is context, not usage direction.

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

list_dataset_examplesList Dataset ExamplesB
Read-only
Inspect

Admission state per candidate: what was admitted, rejected, left unresolved or superseded, with the lineage (direct, propagated, verified success) and the first check that did not pass. Rows carry ids, status and a headline — never the candidate's output or proposed target.

NameRequiredDescriptionDefault
limitNoMaximum rows to return (default: 50, max: 200)
offsetNoRows to skip, for paging through a large dataset (default: 0)
datasetIdYesDataset ID from list_datasets
customerIdNo(Converra superadmin only) Target customer ID
admissionStatusNoFilter to one admission status (optional)

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, non-destructive, and closed-world, so safety is covered. The description adds real behavioral value by disclosing what rows carry (ids, status, headline) and explicitly what they never contain (candidate output or proposed target), which shapes agent expectations beyond the annotations.

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?

Two sentences with no filler, and the row-content summary is front-loaded. However the opening phrasing ('Admission state per candidate') is dense and requires re-reading, which costs clarity.

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?

With no output schema, the description usefully characterizes the returned rows and their exclusions, which is the main completeness gap for a paged read tool. The remaining gap is that nothing routes the agent between this tool and its dataset/version listing siblings.

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 documents every parameter, making 3 the baseline. The description loosely echoes the admission statuses but does not add syntax or filtering guidance beyond the schema, and its mention of 'superseded' does not match the enum's 'stale'.

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 clarifies what each row represents (admission state per candidate with lineage and first failing check), which is useful, but it never states the listing action outright and leans on the name for the verb. It does not distinguish this tool from close siblings like list_datasets or list_dataset_versions.

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 when-to-use guidance, no prerequisites, and no mention of alternatives. An agent is left to infer that this is the paged enumerator over a dataset's candidates versus the dataset/version listers.

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

list_datasetsList DatasetsA
Read-only
Inspect

Training and evaluation datasets curated from an agent's completed runs. Each row carries the source agent, how many runs it was cut from, the target verifier and the fixture manifest it is bound to. Answers: 'what datasets do we have?', 'is there a dataset for this agent?'.

NameRequiredDescriptionDefault
agentIdNoFilter to one agent (optional — all datasets if omitted)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing what each returned row contains (source agent, cut runs, target verifier, bound fixture manifest) — return-shape context that no structured field provides since there is 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.

Conciseness4/5

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

Front-loaded with the core purpose, then row contents, then example intents. Three sentences with little waste. The example-question phrasing is slightly padded but still earns its place as intent signaling.

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 read-only list tool with no output schema, the description compensates well by describing the row payload and the source of the data. Annotations cover safety and params are fully documented in the schema. Only the absence of explicit sibling routing keeps it from being 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 both agentId and customerId are already documented in the schema. The description only obliquely gestures at agent filtering ('is there a dataset for this agent?') and says nothing new about the customerId superadmin scoping, so it does not meaningfully extend the schema — baseline 3 applies.

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 gives a specific verb+resource ('datasets curated from an agent's completed runs') and even enumerates the metadata each row carries (source agent, run count, verifier, fixture manifest). It clearly reads as a list operation. It does not explicitly distinguish itself from nearby siblings like list_dataset_examples, list_dataset_versions, or get_dataset, so it stops short of 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?

Usage is implied via the answerable questions ('what datasets do we have?', 'is there a dataset for this agent?'), which hints at the browse-and-filter use case. However, there is no explicit when-to-use guidance and no mention of the alternatives (get_dataset for one, list_dataset_examples for examples), so routing must be inferred.

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

list_dataset_versionsList Dataset VersionsA
Read-only
Inspect

Frozen versions of a dataset as counts, template coverage and hashes. The examples themselves are never returned: the protected split's contents must not reach a training-curation surface. Answers: 'is there a frozen version to train on?', 'is it training-eligible?'.

NameRequiredDescriptionDefault
datasetIdYesDataset ID from list_datasets
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and closed-world scope, so safety is covered structurally. The description adds genuinely new behavioral context: the deliberate omission of example rows for protected-split safety reasons and the fact that hashes/coverage counts are what surface instead. It stops short of noting pagination, ordering, or empty-version 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?

Three tight sentences with the return payload front-loaded, followed by the key privacy constraint and then the decision questions. No filler, though the phrasing is slightly compressed/telegraphic ('Frozen versions of a dataset as counts...').

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?

With no output schema, the description does carry the return-shape burden and discharges it (counts, template coverage, hashes) plus what is withheld. For a two-parameter read-only listing tool this is close to sufficient; minor gaps remain around ordering, empty results, and how counts map to individual versions.

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 both parameters (datasetId, customerId) are documented in-schema, including the superadmin restriction on customerId. The description adds no parameter-level meaning at all, so the baseline 3 applies.

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 resource precisely (frozen versions of a dataset) and enumerates the payload shape (counts, template coverage, hashes), so an agent knows what it is getting. It implicitly distinguishes itself from list_dataset_examples by asserting 'the examples themselves are never returned', but never names that sibling or others such as list_datasets/get_dataset, so differentiation is inferred rather than explicit.

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?

Two concrete decision questions ('is there a frozen version to train on?', 'is it training-eligible?') give clear context for when to call this tool. However, no alternatives or exclusions are named – it never points to freeze_dataset_version or bind_dataset_version, which are the obvious adjacent operations, so the routing burden remains partly on the agent.

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

list_fine_tuning_projectsList Fine-Tuning ProjectsA
Read-only
Inspect

Fine-tuning projects and each one's next journey step. A project is one pass: one agent, one objective, one frozen dataset version, one candidate plus one diagnosed rerun. Answers: 'what fine-tuning is in flight?', 'what is the next step on this project?'.

NameRequiredDescriptionDefault
agentIdNoFilter to one agent (optional)
lifecycleNoFilter to active or closed projects (optional)
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful domain framing about the composition of a project and that next-step data is returned, but says nothing about return shape, ordering, or pagination behavior for a list endpoint.

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?

Front-loaded with the core purpose, then the project definition, then the example queries as a scannable wrap-up. Every sentence carries meaning, though the project-composition clause is somewhat dense.

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?

With no output schema, the description does useful work explaining that each entry includes the next journey step and what constitutes a project. It stops short of describing pagination or ordering, which is a minor gap for a list endpoint with an otherwise complete schema.

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 agentId, lifecycle, and the superadmin-only customerId are fully documented in the schema itself. The description adds no filter syntax or semantic detail beyond that, so the baseline 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?

States a specific verb (list) and resource (fine-tuning projects) and further clarifies the payload includes each project's next journey step. The added definition of what a project is (one pass: one agent, one objective, one frozen dataset version, one candidate plus one diagnosed rerun) makes it distinguishable from siblings like get_fine_tuning_project.

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 concrete example questions ('what fine-tuning is in flight?', 'what is the next step on this project?') that clearly signal when an agent should reach for this tool. However, it never names alternatives (e.g. get_fine_tuning_project for a single project) or states exclusions, so routing 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.

list_integrationsList IntegrationsA
Read-only
Inspect

List all configured integrations (LangSmith, Langfuse, etc.) and their status. Use this to find the integration ID and available projects before importing.

NameRequiredDescriptionDefault
typeNoFilter by integration type (default: all)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results carry status and that IDs/projects are discoverable, but says nothing about pagination, ordering, or auth requirements (e.g. the superadmin-only nature of customerId).

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 tight sentences, front-loaded with what the tool does and followed by the actionable reason to call it. No redundant restatement of the title or annotations.

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 parameterless, read-only listing tool with no output schema, the description covers purpose, scope, and the motivating workflow (pre-import discovery). Only minor gaps remain, such as whether results are paginated or how many integrations are returned.

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 only two parameters, both fully documented in the schema, including the enum for type and the superadmin note on customerId. The description adds no parameter detail beyond the schema, so the baseline 3 applies.

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 ('List all configured integrations') and names example providers plus what is returned ('their status'). It does not explicitly distinguish itself from sibling tools like verify_integration or get_integration_guide, so it falls short of 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 Guidelines4/5

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

Gives a clear when-to-use trigger: 'Use this to find the integration ID and available projects before importing.' This tells the agent the pre-import discovery role, but it names no alternative or exclusion condition relative to verify_integration.

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

list_optimization_feedbackList Optimization FeedbackA
Read-only
Inspect

List feedback entries for an agent. Shows thumbs up/down ratings, comments, and feedback types. Optionally filter by optimization ID or feedback type.

NameRequiredDescriptionDefault
agentIdYesThe agent ID to list feedback for (required)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
feedbackTypeNoFilter by feedback type
optimizationIdNoFilter by specific optimization process ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safe-read profile is covered. The description adds useful return-shape context (thumbs up/down ratings, comments, feedback types) but says nothing about pagination, ordering, volume limits, or what an empty result means. Given the annotation coverage, this is 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.

Conciseness4/5

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

Three short sentences, front-loaded with what the tool returns and followed by filter behavior. No filler, though the middle sentence largely enumerates fields the schema could imply.

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?

With no output schema, the description usefully characterizes the return contents, and the 100%-covered schema handles parameters. The remaining gap is routing guidance among the many list_* and feedback-related siblings, which an agent may still have to infer.

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 all four parameters including the feedbackType enum and the customerId superadmin caveat are already documented in the schema. The description restates that optimizationId and feedbackType are optional filters, adding no syntax or format detail beyond the structured fields. Baseline 3 applies.

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 ("List feedback entries for an agent") and enumerates the returned fields. It implicitly separates itself from the sibling mutators add_optimization_feedback and add_insight_feedback by being the read side, but it never names those siblings or explicitly contrasts listing vs. adding.

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?

"Optionally filter by optimization ID or feedback type" gives minimal guidance on narrowing results, but there is no statement of when to use this tool versus get_optimization_details, get_insights, or the add_* feedback tools. Usage is only implied by the tool name.

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

list_optimizationsList OptimizationsC
Read-only
Inspect

List recent optimization runs

NameRequiredDescriptionDefault
limitNoMaximum number of results (default: 10)
statusNoFilter by optimization status
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is fully covered. The description adds only the vague scope word 'recent' and says nothing about default ordering, pagination, or result window; with annotations doing the heavy lifting, this is a thin contribution.

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?

A single front-loaded sentence with no filler, which is appropriate for a simple list tool. It sits slightly on the under-specified side rather than the wasteful side.

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 low-complexity read-only list tool with full schema coverage and no output schema, this is minimally adequate. It omits what counts as 'recent', the default sort order, and whether results are paged, all of which affect 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 description coverage is 100% and all three parameters (limit, status, customerId) are self-documenting, so baseline is 3. The description adds no interpretation of 'recent' relative to limit/status, so it neither helps nor hurts.

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 ('List') and resource ('optimization runs'), so the operation is unambiguous. It does not, however, distinguish itself from adjacent siblings such as get_optimization_details or list_optimization_feedback, which an agent must infer on its own.

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 when-to-use guidance, no mention of prerequisites (e.g., convergence project scope), and no routing to alternatives like get_optimization_details for a single run. The agent must infer everything from the name alone.

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

list_pending_approvalsList Pending ApprovalsA
Read-only
Inspect

Fine-tuning approvals waiting on a decision, and which job each one is for. Training spend and the production switch are decided by a human on the project screen, or through decide_approval by a key that holds the approve scope — write, admin and superadmin keys cannot decide one. Answers: 'what is blocked on me?', 'why has training not started?'.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint/ non-destructive, and the description adds genuinely new context: who can decide an approval (approve-scope keys only; write/admin/superadmin cannot). It does not cover return format or pagination, but it goes well beyond the annotation set.

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 first sentence front-loads what the tool returns, and the question cues at the end are efficient. The middle sentence on decide_approval and key scopes is somewhat tangential to a list operation but still earns its place by clarifying the workflow.

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 read-only, zero-required-param list tool with full annotation coverage, the description covers purpose, usage and the approval workflow. The only real gap is return shape/pagination, which is minor absent an output schema.

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 customerId parameter, and the description makes no attempt to explain it. With one documented parameter, the baseline of 3 is appropriate since the schema carries full parameter meaning.

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 names a specific resource ('fine-tuning approvals waiting on a decision') and even the shape of each item ('which job each one is for'), so an agent knows exactly what it will get back. It is clearly distinguishable from the sibling decide_approval, which acts on these items rather than listing them.

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?

It supplies concrete usage cues ('what is blocked on me?', 'why has training not started?') and routes the action case to decide_approval, noting the decision can also be made on the project screen. It stops short of explicit when-not-to-use guidance, but the selection context is clear.

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

list_personasList PersonasB
Read-only
Inspect

List available personas for simulation testing

NameRequiredDescriptionDefault
tagsNoFilter by tags (e.g., ['frustrated', 'enterprise'])
limitNoMaximum number of personas to return (default: 20)
searchNoSearch personas by name or description

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the 'simulation testing' framing, with no pagination, ordering, or result-size behavior disclosed; a 3 is appropriate given the low bar set by 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?

A single eleven-word sentence that frontloads the verb and resource with zero filler. Nothing is redundant with the title or annotations.

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, safe list tool with a fully documented schema the description is minimally sufficient, but with no output schema it says nothing about what a returned persona contains or how results are ordered.

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 tags, limit (with default 20), and search are fully documented in the schema. The description adds nothing about parameters, so the baseline 3 applies.

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 a specific verb (List) and resource (personas) and adds the domain context that these are for simulation testing. It doesn't differentiate from the closely related get_persona sibling, so it stops short of 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?

There is no guidance on when to use this versus get_persona (single fetch) or list_agents, and no mention of prerequisites or filtering strategy. The agent must infer usage purely from the name.

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

list_runsList RunsC
Read-only
Inspect

List runs, optionally filtered by agent

NameRequiredDescriptionDefault
limitNoMaximum number of runs to return (default: 20)
cursorNoOpaque nextCursor returned by the previous list_runs call
statusNoFilter by run status
agentIdNoFilter by agent ID
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
hasInsightsNoFilter to only runs with insights

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no mention of pagination via the cursor, no default/max page size behavior, and no note that customerId is superadmin-only (that lives only in 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.

Conciseness4/5

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

A single front-loaded sentence with no filler and no redundancy. It is efficient, though so brief that the terseness borders on under-specification rather than purposeful concision.

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 six-parameter listing tool with no output schema, the description should at minimum explain that results are paginated and what a call returns (run summaries plus a nextCursor). It covers one filter and leaves pagination, defaults, and return shape entirely to 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?

Schema description coverage is 100%, so all six parameters are documented in the schema itself, which sets the baseline at 3. The description only echoes the agentId filter and adds no syntax, format, or interaction detail beyond what the schema already 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?

States a specific verb+resource ('List runs') and adds one filter dimension ('optionally filtered by agent'). It is clearly distinguishable from get_run (single run) and list_agents, though the description itself does not name any sibling to reinforce the 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 phrase 'optionally filtered by agent' hints at usage but gives no when-to-use guidance, no exclusions, and no routing to alternatives such as get_run for a specific run or sync_runs for refreshing data. The agent must infer everything from the tool name.

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

list_webhooksList WebhooksC
Read-only
Inspect

List all configured webhooks

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
includeInactiveNoInclude inactive webhooks (default: false)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds nothing beyond that: no pagination behavior, no result limits, and no mention that inactive webhooks are excluded by default (that only appears in 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.

Conciseness4/5

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

One short, front-loaded sentence with zero filler. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined concision.

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 read-only list tool with full schema coverage and annotations covering safety, the description is minimally adequate. The notable gap is that it never flags the default exclusion of inactive webhooks, which is the one behavior an agent might get wrong.

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 both customerId (superadmin-only) and includeInactive (default false) are already documented in the schema. The description adds no parameter meaning on top of it, which is the correct baseline-3 situation.

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 (list) and resource (webhooks) in a single clear sentence, so the agent knows it enumerates rather than fetches one. It does not, however, differentiate itself from siblings like get_webhook or the mutating create/update/delete_webhook 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?

There is no when-to-use guidance, no mention of when to prefer get_webhook for a single item, and no note about the superadmin customerId path. The agent must infer all routing decisions from the name alone.

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

optimize_modelOptimize ModelA
Destructive
Inspect

Optimize an agent's model for cost or speed without losing quality. Benchmarks cheaper/faster models, picks the best one, switches to it, and triggers prompt adaptation. Returns a jobId — use get_model_optimization_status to poll.

NameRequiredDescriptionDefault
targetNoOptimization target: 'cost' (cheapest passing model), 'speed' (fastest), 'balanced' (best score-to-cost ratio). Default: 'cost'.
agentIdYesThe agent ID to optimize. Must be active with runs.
maxTurnsNoMax conversation turns per scenario (default: 3).
customerIdNo(Converra superadmin only) Target customer ID.
qualityThresholdNoMinimum quality as percentage of current model's score (0-100). E.g., 85 means candidates must score >= 85% of current model. Default: 85.
skipOptimizationNoIf true, switch model without triggering prompt adaptation. Default: false.
candidateModelIdsNoOptional specific model IDs to evaluate. If omitted, candidates are auto-selected based on target. Fine-tuned accounts/... ids are not accepted here; benchmark them with benchmark_models.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations flag destructiveHint=true and readOnlyHint=false, but the description adds genuinely new behavioral information: it is a multi-stage job that benchmarks, *switches the agent's live model*, and triggers prompt adaptation, returning a jobId rather than a result (async). It stops short of saying whether the switch is reversible or how long a job takes.

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, zero filler, front-loaded with the outcome ('for cost or speed without losing quality'), followed by the mechanism and the polling instruction. 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?

With no output schema, the description correctly supplies the return contract (jobId) and the polling path. The remaining gap is operational: it omits likely execution duration, whether the model switch is applied immediately to production, and the rollback/revert route despite stop_optimization and delete_optimization existing as siblings.

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 all seven parameters (including target enum semantics, qualityThreshold, skipOptimization, and the superadmin customerId) are already fully documented in the schema. The description only echoes 'cost or speed' and 'without losing quality', adding no syntax or format detail, so baseline 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?

States a specific verb (optimize) and resource (an agent's model) plus the multi-step scope: benchmark candidates, pick the best, switch, and trigger prompt adaptation. This distinguishes it cleanly from neighbors like benchmark_models, start_model_test, and trigger_optimization, which do only parts of that workflow.

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?

Names the follow-up sibling explicitly ('use get_model_optimization_status to poll'), which is the most important routing decision for an async job. However, it never says when to prefer this over trigger_optimization, benchmark_models, or start_model_test, nor does it state preconditions (active agent with runs) that the schema only implies.

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

preview_run_finding_prompt_diffPreview Run Finding Prompt DiffA
Read-only
Inspect

Preview a read-only unified diff between the trusted prompt snapshot used by a run finding and proposed prompt content. Writes nothing and only works when the run has a trusted rendered prompt snapshot.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdYesThe ID of the run whose finding is being fixed
proposedPromptContentYesThe complete proposed replacement prompt content to diff

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so 'Writes nothing' is largely redundant. The description does add the non-obvious operational constraint that a trusted rendered prompt snapshot must exist, which is behavior beyond the annotations and useful for predicting failure.

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 the core action front-loaded and the constraint following. No filler, no restating of the title, and every clause carries 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?

There is no output schema, but 'unified diff' adequately signals the return shape, and the snapshot precondition covers the main failure mode. Minor gap: it doesn't say what happens when the precondition fails (error vs. empty diff).

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 each parameter carries its own description, including the superadmin-only caveat on customerId. The description adds no syntax, format, or edge-case detail about conversationId or proposedPromptContent, so the baseline 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?

States a specific verb (preview), resource (unified diff), and the two operands being compared (trusted prompt snapshot vs. proposed prompt content). This clearly separates it from siblings like fix_worst_run or get_run_finding_context, which either apply a fix or fetch context rather than showing a diff.

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 precondition 'only works when the run has a trusted rendered prompt snapshot' tells the agent when the tool is applicable, which is genuine usage guidance. It stops short of naming the sibling to use instead when applying the change (e.g., fix_worst_run) or when no trusted snapshot exists, so it lacks explicit alternatives.

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

promote_production_testPromote Production TestA
Destructive
Inspect

Promote a decided production A/B test by applying its frozen variant snapshot to the agent.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
productionTestIdYesThe production test ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds real value by identifying what is applied (the frozen variant snapshot) and to what (the agent), but it omits whether the agent's current configuration is overwritten and whether the promotion is reversible.

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 front-loaded sentence with the verb, scope, precondition, and mechanism in that order. No filler, no redundancy with the title.

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 destructive mutation with no output schema, the description covers what happens but not the side effects an agent should anticipate (overwriting the live agent configuration, whether the change can be undone). With annotations covering the safety profile, this is adequate but leaves 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 description coverage is 100%, including the superadmin-only note on customerId, so the schema carries the semantic load. The description adds no parameter-level detail (e.g., format of productionTestId or when customerId should be supplied), so the baseline of 3 applies.

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 (promote) and resource (production A/B test) and adds the mechanism — applying the frozen variant snapshot to the agent. It does not, however, distinguish itself from nearby siblings such as rollback_production_test or apply_variant, which an agent may confuse it with.

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 word 'decided' implies a precondition (the test must already have a decision/outcome) before promotion is valid, which is useful implied guidance. There is no explicit statement of when not to use it, nor a named alternative such as rollback_production_test for undoing a promotion.

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

publish_external_run_insight_generationPublish External Run Insight GenerationA
DestructiveIdempotent
Inspect

Publish one strict external teacher judgment as a new immutable Converra conversation-insight generation. Requires the exact active publication bundle, exact evidence, and an idempotency key. The server owns all Converra identities, hashes, tenant scope, receipts, and publication state.

NameRequiredDescriptionDefault
judgmentYesStrict outcome union enforced by the server. verified_issue requires title, summary, primaryFindingIndex, rootCause, and findings. verified_clean/review_required require title, summary, and findings. coverage_unavailable requires coverageReason, resolutionNeeded, and empty findings. incomplete requires incompleteReason and empty findings and will remain inactive.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
provenanceYes
schemaVersionYes
conversationIdYes
idempotencyKeyYes
expectedPublicationYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=true; the description adds real context beyond them — the generation is immutable, and the server owns identities, hashes, tenant scope, receipts and publication state, so the caller must not supply those. It does not, however, explain why the operation is destructive or what prior state it supersedes.

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 the verb and resource, each adding a distinct piece of information (immutability, preconditions, server-owned state). No filler 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?

For a 7-parameter, deeply nested, mutation-class tool with no output schema, the description covers purpose, immutability, idempotency and server-owned fields, which is solid. It is silent on failure behavior, publication receipts/return shape, and the destructive semantics flagged by annotations, leaving gaps for a call whose judgment union has strict server-enforced constraints.

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 29%, so the description must carry weight — it maps loosely to expectedPublication ('exact active publication bundle'), the evidence array ('exact evidence') and idempotencyKey. But several parameters (conversationId, schemaVersion, provenance, customerId, judgment union) get no explanatory treatment beyond the inline schema text.

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?

Specific verb (publish) plus a distinct resource (a new immutable Converra conversation-insight generation) scoped to an 'external teacher judgment'. It is distinguishable from siblings like regenerate_run_insights or record_review_decision, though it does not explicitly name the tool it replaces or complements.

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 states preconditions (exact active publication bundle, exact evidence, idempotency key) but never frames when to choose this over internal insight-writers, nor when not to call it. Usage is implied by the 'external teacher judgment' framing rather than stated.

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

record_gate_resultRecord Gate ResultA
Idempotent
Inspect

Report one verdict written by the frozen gate harness (scripts/supplier-risk/gate/gate.ts) against the job it was measured for. The app re-derives the headline from the elements and refuses a verdict bound to another attempt, model or dataset version, an acceptance verdict without a frozen preregistration, and a second acceptance verdict for the job. Only a protected acceptance verdict moves the job's gate outcome; re-posting the same verdict is a no-op. For the training runner's key. SCOPE: runner — held literally; write, admin and superadmin keys cannot call it.

NameRequiredDescriptionDefault
jobIdYesTraining job ID
verdictYesThe verdict record exactly as gate.ts wrote it; the app parses it field by field
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the validation refusals (mismatched attempt/model/dataset version, acceptance without preregistration, duplicate acceptance verdict), that only a protected acceptance verdict moves the gate outcome, and that re-posting is a no-op. This substantively enriches the idempotent/non-destructive hints.

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?

Front-loads the core action and then layers conditions and scope. Dense and jargon-heavy, but each sentence earns its place and the SCOPE constraint is clearly delineated at the end.

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

Completeness4/5

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

For a mutation tool with no output schema, it covers behavior, validation refusals, auth scope, and idempotency well. Only minor gaps remain, such as the response format of a successful recording beyond the no-op case.

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 the baseline is 3, but the description adds real meaning: the verdict is parsed field by field exactly as gate.ts wrote it and the headline is re-derived from its elements, and jobId is the job the verdict was measured for. This clarifies the nested verdict object beyond the schema's terse note.

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

Purpose5/5

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

States a specific verb (record/report) and resource (a gate verdict from the frozen gate harness) tied to a measured job. It even names the exact producer (scripts/supplier-risk/gate/gate.ts), letting an agent distinguish it from get_gate_result without opening a schema.

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

Usage Guidelines4/5

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

Provides explicit call conditions: it is for the training runner's key and write/admin/superadmin keys cannot call it, plus the prerequisite that the verdict must come from the frozen harness and that acceptance requires a frozen preregistration. No alternative tool is named, but the context 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.

record_review_decisionRecord Review DecisionAInspect

Record one scoped adjudication for a cluster and reassess every member on its own checks. STAMPED WITH THE REVIEWER ROLE "agent": a decision recorded over MCP is distinguishable from a human's in the lineage, so whoever approves the dataset freeze can see which admissions rest on an agent's judgment. Decisions are immutable — a revision names the decision it supersedes.

NameRequiredDescriptionDefault
scopeYesWhether the decision propagates to the cluster's members or binds only to the representative
targetYesThe reviewed learning target for the representative. correct_finding needs proposed or edited; an outcome that trains on nothing must send none.
outcomeYescorrect_finding: the agent should have behaved differently (needs a target). acceptable_behavior: what the agent did was fine (its own output is the target). The other three record a judgment and train on nothing.
clusterIdYesCluster ID from get_adjudication_queue or get_dataset
rationaleYesWhy this decision (1-4000 characters)
customerIdNo(Converra superadmin only) Target customer ID
supersedesDecisionIdNoThe decision this one revises. Omit for a first decision; a cluster that already has one requires it.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a non-destructive write, but the description adds real behavioral context the annotations do not carry: the decision is stamped with the reviewer role 'agent' for lineage, decisions are immutable, and a revision must name the decision it supersedes. It also discloses the side effect that every cluster member is reassessed, which is meaningful for an agent anticipating downstream changes.

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?

Three sentences, front-loaded with the core action and scope before the provenance and immutability notes. The all-caps clause is stylistically awkward but substantively earns its place; nothing is padding.

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 five required params, nested objects, and two enums, the description covers mutation semantics, agent-role provenance, immutability, and the reassessment side effect — the key things a caller needs. It omits return values, but no output schema exists and the effect is described, so the gap is minor.

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 seven parameters including the outcome/scope enums and the target.kind constraint. The description reinforces immutability and the supersede-relationship, but adds no syntax, format, or constraint detail beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb+resource ('Record one scoped adjudication for a cluster') and adds the side effect that members are reassessed on their own checks, which distinguishes it from siblings like split_review_cluster, record_gate_result, and record_run_calibration_review. It does not explicitly name any sibling, but the cluster-adjudication scope is specific enough to tell it apart.

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 (post-review adjudication, preceding a dataset freeze whose approver reads the lineage), but gives no explicit when-to-use/when-not guidance and does not route to alternatives such as split_review_cluster when a cluster should be divided. Guidance is inferable rather than stated.

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

record_run_calibration_reviewRecord Run Calibration ReviewA
Idempotent
Inspect

Record one immutable calibration answer against the exact active publication and question. Reuse the same idempotencyKey when retrying a lost response.

NameRequiredDescriptionDefault
labelYes
notesNo
targetYesExact target returned by get_run_calibration_review
correctionNoRequired when label is incorrect; otherwise empty is allowed
customerIdNo(Converra superadmin only) Target customer ID
conversationIdYes
idempotencyKeyYesStable key for this logical answer and all transport retries
expectedPublicationYes
expectedQuestionStateHashYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context beyond that: the answer is 'immutable', it binds to the 'exact active publication and question', and retries should reuse the idempotency key. What it omits is the precondition on how to obtain a valid target.

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 zero filler; the core action is front-loaded and the retry rule follows immediately. Appropriately sized for the definition's 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 9-parameter mutation with no output schema and 44% schema description coverage, two sentences leave gaps: the immutability story is stated but the dependency on get_run_calibration_review for a valid target and the correction-required-on-incorrect rule live only in the schema. Annotations carry the safety and idempotency burden, so the definition is functional 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 only 44% across 9 parameters. The description's phrase 'exact active publication and question' supplies semantic intent for expectedPublication and expectedQuestionStateHash, which the schema leaves undocumented, and reinforces idempotencyKey's retry role. It does not clarify correction, customerId scoping, or target sourcing beyond what the schema already states.

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 ('Record one immutable calibration answer') scoped to 'the exact active publication and question', which clearly separates it from structural siblings like record_review_decision and record_gate_result. Lacks an explicit named alternative, but the resource 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?

Provides one concrete usage rule ('Reuse the same idempotencyKey when retrying a lost response'), which is useful retry guidance. However it says nothing about when to call this versus get_run_calibration_review or other record_* tools, so the when-to-use decision is only implied.

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

record_training_jobRecord Training JobAInspect

Record the intent to train one candidate on the project's frozen dataset version: base model, method and the spend cap it will run under. Trains nothing and spends nothing — spend needs an approved training_spend approval (request_approval, then a human or an approve-scoped key decides it), and the runner outside the app is what trains. One candidate plus one diagnosed rerun per project; the rerun needs rerunReason. Scope: write.

NameRequiredDescriptionDefault
capUsdYesSpend cap this job will run under, in USD (max 1000)
methodYesTraining method, e.g. lora (1-60 characters)
baseModelYesProvider base model id (1-200 characters)
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID
rerunReasonNoRequired for the second attempt: the diagnosed execution defect (1-500 characters)

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only flag this as a non-read-only, non-destructive write. The description goes well beyond that: no training or spending occurs here, spend requires an out-of-band approval gate, the actual training happens in an external runner, and there is a strict one-candidate-plus-one-rerun cap per project. This is substantial behavioral context an agent could not infer from the annotations.

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?

Front-loads the core purpose, then layers prerequisites and limits with em-dash asides. Dense but every clause earns its place; slightly stream-of-consciousness phrasing keeps it from a 5.

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 write tool with no output schema, the description covers scope ('Scope: write'), prerequisites, the external training mechanism, and rerun conditions. Nothing an agent needs to call it correctly is missing.

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 all six parameters (including the superadmin-only customerId and the conditional rerunReason) are already documented, and the description's mention of base model, method, spend cap and rerunReason largely restates them. Baseline 3 is appropriate since the schema carries the parameter-level detail.

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

Purpose5/5

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

States a specific verb ('record the intent to train') and resource ('one candidate on the project's frozen dataset version'), then immediately disambiguates from what it is not: 'Trains nothing and spends nothing.' An agent can distinguish it from get_training_job and trigger_optimization without opening a schema.

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

Usage Guidelines5/5

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

Explicitly states prerequisites (a training_spend approval obtained via request_approval, decided by a human or approve-scoped key), the actor that actually trains (the runner outside the app), and per-project cardinality limits (one candidate plus one diagnosed rerun, which requires rerunReason). When-to-use and constraints are fully spelled out.

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

refresh_agent_analysisRefresh Agent AnalysisA
Destructive
Inspect

Refresh the structural analysis of an agent's system prompt (strengths, weaknesses, opportunities, quality metrics). Use this when the agent's prompt has changed or you need to re-evaluate its structure.

NameRequiredDescriptionDefault
forceNoForce refresh even if recently analyzed (default: false)
agentIdYesThe ID of the agent to refresh analysis for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

A3.6/5.0
Behavior3/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the mutating nature is already surfaced; the description adds only the re-evaluation trigger and hints at caching via 'recently analyzed'. It does not say that existing analysis is overwritten, whether it is idempotent, or what it costs — context that would be valuable given the destructive hint.

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 tight sentences: the action and its output composition come first, the when-to-use condition second. No filler, no repetition of the title, and it is front-loaded correctly.

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 3-parameter mutation tool with no output schema, the description covers what the tool does, what the analysis yields, and when to invoke it. The remaining gap — differentiating from refresh_agent_insights and stating overwrite/reversibility behavior — is real but not fatal given the annotations carry the safety profile.

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 all three parameters (force, agentId, customerId) are already documented, including the force default and the superadmin-only scoping note. The description adds no syntax or semantics beyond the schema, so the baseline 3 applies.

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 (Refresh) and resource (structural analysis of an agent's system prompt), and enumerates the analysis contents (strengths, weaknesses, opportunities, quality metrics). However, it does not distinguish itself from the close sibling refresh_agent_insights, which an agent could easily confuse with this tool.

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?

Gives a trigger condition ('when the agent's prompt has changed or you need to re-evaluate its structure'), which is useful implied-usage guidance. But it never contrasts with the obvious alternatives (refresh_agent_insights, analyze_agent) or states when not to use it, leaving the agent to guess which refresh tool applies.

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

refresh_agent_insightsRefresh Agent InsightsA
Destructive
Inspect

Regenerate aggregated agent insights from run data (success/failure patterns, run metrics, performance trends). Use this after runs have been added or run insights regenerated.

NameRequiredDescriptionDefault
agentIdYesThe ID of the agent to refresh insights for
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
timeFilterNoTime window for insights (default: 30d)
forceRegenerationNoForce regeneration even if recent insights exist (default: false)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates stored state; the description's 'Regenerate' adds that it rebuilds aggregated insights from run data. It does not say whether existing insights are overwritten, whether the call is synchronous, or what happens if regeneration is unnecessary. Some added context, but thin against a destructive, non-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?

Two tight sentences: the action is front-loaded, the parenthetical enumerates outputs efficiently, and the usage trigger comes second. Nothing redundant or padded.

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 destructive mutation with no output schema, the description leaves key gaps: whether it returns the regenerated insights or merely triggers a job, whether it is async/pollable, and any cost or rate implications. The schema fully covers inputs, but the behavioral envelope for a destructive tool is only partially described.

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 all four parameters (agentId, customerId, timeFilter, forceRegeneration) are already documented in the schema. The description adds no parameter detail beyond that, so the baseline 3 applies; the parenthetical describes output content, not inputs.

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?

Uses a specific verb (Regenerate) plus resource (aggregated agent insights) and states the source data (run data) with a parenthetical of what the insights contain. This clearly separates it from run-level peers like regenerate_run_insights, but it never names or contrasts a sibling explicitly.

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?

Gives an explicit trigger: 'Use this after runs have been added or run insights regenerated,' which tells the agent the precondition. It stops short of exclusions or alternatives (e.g., batch_regenerate_insights, refresh_agent_analysis), so selection between peers still requires inference.

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

refresh_fleet_intelligenceRefresh Fleet IntelligenceA
Destructive
Inspect

Force-refreshes persisted fleet intelligence and returns the newly written snapshot. Use when get_fleet_intelligence reports stale or missing trend confidence, or when a recent ingestion needs the fleet-level report recomputed immediately.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
timeFilterNoWindow to regenerate (default: 30d)
regenerateFullInsightsNoForce a full narrative regeneration instead of preserving reusable sections

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered; the description adds useful context that it operates on *persisted* data and writes a new snapshot, confirming an overwriting mutation rather than a read. It stops short of describing what existing data is replaced or any re-computation cost, but it does not contradict the 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?

Two sentences, zero waste: the action is front-loaded and immediately followed by the when-to-use routing. Every clause earns its place.

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?

Despite no output schema, the description notes the return value ('newly written snapshot'). Combined with the 100% schema coverage and annotations, an agent has everything needed to call and interpret this mutation 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 already documents customerId, timeFilter, and regenerateFullInsights. The description adds no parameter syntax or semantics beyond the schema, which sets the baseline 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?

States a specific verb (force-refreshes) applied to a specific resource (persisted fleet intelligence) and names the return value (newly written snapshot). This distinguishes it cleanly from the sibling read-only get_fleet_intelligence.

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 names the trigger conditions ('when get_fleet_intelligence reports stale or missing trend confidence') and an alternative scenario ('a recent ingestion needs the fleet-level report recomputed immediately'), and implicitly routes the agent away from the read tool. No inference required.

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

regenerate_run_insightsRegenerate Run InsightsA
Destructive
Inspect

Regenerate insights for a single run. Use this when a run's insights are missing, incorrect, or need to be refreshed. The regeneration happens asynchronously.

NameRequiredDescriptionDefault
forceNoRegenerate even if valid insights already exist; existing insights are overwritten on success, not deleted first (default: false)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
conversationIdYesThe ID of the run to regenerate insights for

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the write/destroy profile is covered. The description adds the asynchronous execution trait, which is genuine extra context, but it omits that existing insights get overwritten and says nothing about how to observe completion. Value added, but incomplete for a destructive mutation.

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?

Three short sentences, front-loaded with the action and followed by the trigger condition and the async caveat. Nothing is wasted, though it is not maximally dense.

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 destructive, asynchronous mutation with no output schema, an agent still lacks guidance on polling/verifying the result and on the overwrite consequence. The description is adequate but leaves a meaningful operational 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 description coverage is 100%, including the force-overwrite semantics and the superadmin customerId, so the schema carries the parameter burden. The description adds no parameter detail beyond scoping the target to 'a single run', making the baseline 3 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?

States a specific verb and resource: 'Regenerate insights for a single run.' The word 'single' implicitly distinguishes it from the sibling batch_regenerate_insights, though that sibling is never named. Clear purpose without explicit sibling routing.

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?

Gives a clear when-to-use condition: 'when a run's insights are missing, incorrect, or need to be refreshed.' It does not name the obvious alternative (batch_regenerate_insights) or say when to prefer batch vs single, so it falls short of the top tier.

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

regression_testRegression TestAInspect

Run regression test for a prompt variant against its golden test suite. Tests the variant against pre-validated scenarios with known success criteria to ensure it doesn't break existing functionality. Returns pass/fail status per scenario with fluke detection for suspected regressions. If no golden suite exists, one will be automatically generated from prompt analysis. Three ways to specify the variant: (1) variantPrompt — full prompt content; (2) variantPromptId — reference an existing stored prompt; (3) variantOverrides — array of find/replace ops applied on top of promptId's content.

NameRequiredDescriptionDefault
promptIdYesThe agent ID that has a golden regression suite. Required.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
variantPromptNoThe variant system prompt content to test. Use this OR variantPromptId OR variantOverrides.
variantPromptIdNoAlternative to variantPrompt: ID of stored agent to use as variant.
variantOverridesNoConstruct the variant by applying find/replace overrides on top of promptId's content. Avoids sending the full prompt when the change is small. Each override's `find` string must occur exactly once in the prompt (after prior overrides have been applied) — multiple or zero matches throw a validation error. Order matters: each find runs against the result of prior overrides. Anchors are case-sensitive and match any substring (including inside larger words) — include surrounding whitespace/punctuation to disambiguate short anchors. Example: [{find: "Be concise.\n", replace: "Be concise and warm.\n"}]. Use this OR variantPrompt OR variantPromptId.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the description carries real weight and adds value: pass/fail per scenario, fluke detection for suspected regressions, automatic golden-suite generation (explaining why readOnlyHint is false), and superadmin-only auth for customerId. It does not disclose whether execution is synchronous or asynchronous, which is a gap given sibling polling tools like get_benchmark_status and get_simulation_status.

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?

Front-loaded purpose, then behavior, then the variant-specification options — a logical order with no filler sentences. It is slightly longer than needed because the numbered variant section restates details already present in the schema.

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?

There is no output schema, and the description compensates by describing the return shape (pass/fail per scenario plus fluke detection). It also covers the auto-generation fallback and auth requirements. The one omission is execution model — sync vs async/polling — which matters given the number of status-polling siblings.

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 all five parameters are already documented in the schema, including the 'Use this OR...' exclusivity and the override find/replace semantics. The description largely recaps that structured information rather than adding new meaning, which is the baseline 3 case when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb and resource: 'Run regression test for a prompt variant against its golden test suite,' with the scope of the test (pre-validated scenarios, known success criteria) spelled out. An agent can distinguish this from sibling tools like validate_variant or simulate_agent without opening a schema.

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

Usage Guidelines4/5

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

The description explains the three mutually exclusive ways to supply a variant (variantPrompt, variantPromptId, variantOverrides) and notes the auto-generation fallback when no golden suite exists, which is clear operational context. It never names an alternative tool or states when this should be chosen over validate_variant or simulate_agent, so no explicit exclusions.

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

request_approvalRequest ApprovalAInspect

Ask for one of the two fine-tuning approvals. training_spend names the job and the cap being approved (it must equal the job's own cap); production_switch needs a job with a passing protected gate verdict and a servable model, and takes jobId only when more than one candidate qualifies. Executes nothing and decides nothing: the request waits for decide_approval. Scope: write.

NameRequiredDescriptionDefault
noteNoContext for whoever decides (max 500 characters)
jobIdNoRequired for training_spend; optional for production_switch
scopeYes
capUsdNoRequired for training_spend: the cap being approved, in USD
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false (write) and destructiveHint=false, and the description reinforces this with 'Scope: write' while adding the non-obvious fact that it 'Executes nothing and decides nothing.' That workflow clarification (request queues for decide_approval) is real added value beyond the safety hints, though it stops short of describing the resulting approval 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?

Two dense sentences that front-load the purpose and then the per-scope conditions with no filler. It is information-heavy rather than wasteful, though the second sentence packs several constraints that reward careful reading.

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?

With no output schema, the description covers the essentials: the two scopes, their prerequisites, the write/does-not-execute behavior, and the handoff to decide_approval. It is nearly complete for a mutation tool whose annotations already carry the safety profile.

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 83%, so the baseline is 3, but the description adds genuine meaning: the capUsd 'must equal the job's own cap' constraint and the conditional logic that jobId is taken for production_switch only when more than one candidate qualifies. These rules are not evident from 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?

States a specific verb+resource ('Ask for one of the two fine-tuning approvals') and explicitly distinguishes itself from the sibling decide_approval by noting it 'decides nothing' and waits for that tool. An agent can tell immediately what this tool does versus its closest neighbor.

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?

Gives explicit conditions for each of the two scopes: training_spend needs a job plus a cap equal to the job's own cap; production_switch needs a passing protected gate verdict and a servable model, with jobId only when multiple candidates qualify. Names the downstream alternative (decide_approval) and frames this tool as the request step in the flow.

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

rollback_production_testRollback Production TestA
Destructive
Inspect

Roll back a running, decided, or inconclusive production A/B test.

NameRequiredDescriptionDefault
customerIdNo(Converra superadmin only) Target customer ID
productionTestIdYesThe production test ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the applicable test states, but does not disclose consequences (data loss, reversibility, whether the test can be restarted) 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.

Conciseness4/5

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

A single front-loaded sentence with the verb and resource first and the state qualifier following. No wasted words, though it is minimal to the point of omitting useful routing 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?

A simple two-parameter mutation tool with full schema coverage and annotations covering the destructive profile. No output schema exists, but none is implied for a rollback action, so the description is adequately complete for 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 description coverage is 100%, so both parameters (customerId superadmin scope, productionTestId) are fully documented in the schema. The description adds no parameter-level detail, so the baseline 3 applies.

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 (roll back) and resource (production A/B test), plus the qualifying states (running, decided, inconclusive). An agent can distinguish it from start_production_test and promote_production_test by name, though the description doesn't explicitly reference those 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 listed test states (running, decided, inconclusive) imply when rollback is applicable, which is useful context. However, there is no explicit when-not guidance or naming of the promote/start alternatives, so the agent must infer the decision boundary.

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

simulate_ab_testSimulate A/B TestAInspect

Start async A/B simulation test comparing two agent configurations. Executes multi-turn simulated conversations for BOTH configurations against identical personas and scenarios, then compares performance metrics. Returns a jobId immediately - use get_simulation_status to poll for results. Three ways to specify the variant: (1) variantPrompt — full prompt content; (2) variantPromptId — reference an existing stored prompt; (3) variantOverrides — array of find/replace ops applied on top of the resolved baseline (no need to send full content, server applies the diff). Same for baseline (variantOverrides has no baseline equivalent — baseline must come from baselinePrompt or baselinePromptId).

NameRequiredDescriptionDefault
runIdNoProvider run ID for the runtime context snapshot. Required with conversationId when runtimeContextId is not provided.
maxTurnsNoMaximum turns per conversation (default: 10)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
personaCountNoTotal number of personas to use
scenarioCountNoTotal number of scenarios to use
variantPromptNoThe challenger agent's full system prompt content. Use this OR variantPromptId OR variantOverrides.
baselinePromptNoThe baseline agent's system prompt content. Either this or baselinePromptId must be provided.
conversationIdNoConversation ID containing the runtime context snapshot. Required with runId when runtimeContextId is not provided.
simulationTypeNoSimulation type: standard, context_grounded_probe (one-turn context probe), or context_grounded_dialogue (multi-turn context-grounded dialogue). Context-grounded types require baselinePromptId plus runtimeContextId or conversationId with runId.
includePersonasNoOptional specific personas to include
variantPromptIdNoAlternative to variantPrompt: ID of stored agent to use as variant.
baselinePromptIdNoAlternative to baselinePrompt: ID of stored agent to use as baseline. Also fetches LLM settings.
includeScenariosNoOptional specific scenarios to include
runtimeContextIdNoRuntime context snapshot ID to bind for both A/B arms. Use this OR conversationId with runId.
variantOverridesNoConstruct the variant by applying find/replace overrides on top of the resolved baseline content. Avoids sending the full prompt when the change is small. Each override's `find` string must occur exactly once in the prompt (after prior overrides have been applied) — multiple or zero matches throw a validation error. Order matters: each find runs against the result of prior overrides. Anchors are case-sensitive and match any substring (including inside larger words) — include surrounding whitespace/punctuation to disambiguate short anchors. Example: [{find: "Be concise.\n", replace: "Be concise and warm.\n"}]. Use this OR variantPrompt OR variantPromptId.
conversationsPerPersonaNoConversations per persona (default: 1)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare write/non-destructive/non-open-world, but the description adds real behavioral context: the call is asynchronous and returns immediately, results are retrieved via a separate status tool, and variantOverrides throw validation errors on zero/multiple matches and are applied in order. That goes well beyond the annotation surface.

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?

Purpose and async contract are front-loaded, and the three variant modes are numbered clearly. Slightly padded by restating the override mechanic ('server applies the diff') that the schema already carries, but the sentences largely earn their 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?

For a 16-parameter async tool with no output schema, the description covers the essentials an agent needs: what it returns (jobId), how to get results, and the variant/baseline source rules. Defaults for maxTurns/personaCount/conversationsPerPersona and runtime-context requirements are left to the schema, which is acceptable given the 100% coverage.

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 the baseline is 3, but the description adds cross-parameter meaning the schema doesn't: the three mutually exclusive variant specification modes and the fact that variantOverrides has no baseline equivalent (baseline must come from baselinePrompt/baselinePromptId). That resolves real ambiguity among 16 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?

States a specific verb and resource ('Start async A/B simulation test comparing two agent configurations') and pins the scope to two configurations executing against identical personas/scenarios. That two-arm comparison is what separates it from single-agent siblings like simulate_agent, so an agent can pick it without opening the schema.

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?

Gives clear operational context: returns a jobId and you must poll with get_simulation_status, plus the three ways to specify the variant and the baseline source constraint. It stops short of an explicit 'use this instead of simulate_agent when...' comparison against the closest sibling, so it's strong but not fully routing.

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

simulate_agentSimulate AgentAInspect

Start async simulated conversations to test how your agent performs against auto-generated or specified personas and scenarios. Returns a jobId immediately - use get_simulation_status to poll for results.

NameRequiredDescriptionDefault
runIdNoProvider run ID for the runtime context snapshot. Required with conversationId when runtimeContextId is not provided.
promptNoThe agent's system prompt content to test. If omitted, content is fetched from promptId.
maxTurnsNoMaximum turns per conversation (default: 10)
promptIdNoAgent ID. Used to fetch prompt content (if prompt is omitted) and LLM settings (temperature, maxTokens, etc.)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
personaCountNoTotal number of personas to use (default: 3)
scenarioCountNoTotal number of scenarios to use (default: 3)
conversationIdNoConversation ID containing the runtime context snapshot. Required with runId when runtimeContextId is not provided.
simulationTypeNoSimulation type: standard, context_grounded_probe (one-turn context probe), or context_grounded_dialogue (multi-turn context-grounded dialogue). Context-grounded types require promptId plus runtimeContextId or conversationId with runId.
includePersonasNoOptional specific personas to include (system will generate the rest)
includeScenariosNoOptional specific scenarios to include (system will generate the rest)
runtimeContextIdNoRuntime context snapshot ID to bind for context-grounded simulations. Use this OR conversationId with runId.
conversationsPerPersonaNoConversations per persona (default: 1)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare non-read-only, non-destructive, non-open-world, but the description adds genuinely useful behavior the annotations cannot convey: the call is asynchronous, returns a jobId immediately, and results must be polled via get_simulation_status. It stops short of noting cost, runtime, or side effects of running many conversations (personaCount/scenarioCount multiplication).

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 waste, with the core action and async/polling behavior front-loaded. Every clause earns its place and the agent can act on it immediately.

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 13-parameter tool with no output schema, the description supplies the missing return-shape context (jobId) and the follow-up polling path, which is the key thing an agent needs. It doesn't note that all parameters are optional or how count parameters combine, but annotations and schema cover the rest adequately.

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 all 13 parameters, defaults, and the enum are already documented in the schema. The description adds persona/scenario framing but no parameter-level meaning beyond that; baseline 3 applies when the schema carries the load.

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 ('Start async simulated conversations') and the objective ('test how your agent performs against auto-generated or specified personas and scenarios'). This clearly separates it from simulate_ab_test and benchmark_models, though it never names a sibling explicitly.

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 tells the agent what happens next ('use get_simulation_status to poll for results'), which is useful workflow guidance, but offers no when-to-use vs when-not or comparison against alternative simulation tools. Usage context is implied by 'to test how your agent performs' rather than stated.

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

split_review_clusterSplit Review ClusterAInspect

Split an undecided cluster by one more condition, when its members are not actually one behavior. The parent is superseded by its children; decide on the children afterwards. Reversible in the sense that nothing is deleted — the parent and its children are all retained.

NameRequiredDescriptionDefault
clusterIdYesCluster ID from get_adjudication_queue or get_dataset
customerIdNo(Converra superadmin only) Target customer ID
conditionKeyYesThe condition to split on. It must be one of the dataset's splitConditionKeys and must take more than one value across the cluster's members.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false; the description earns credit by explaining concretely what that means — the parent is superseded by its children and nothing is deleted, so all records are retained. It does not disclose failure modes, idempotency, or the superadmin constraint (that detail lives only in the schema), but the retention/supersession semantics are genuinely additive beyond the annotations.

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?

Front-loaded with the action and condition, and free of filler. The third sentence ('Reversible in the sense that nothing is deleted — the parent and its children are all retained') is slightly belabored, restating non-deletion twice, but it is short enough overall.

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 three-parameter mutation with a rich schema, no output schema, and annotations covering the safety profile, the description supplies the trigger, the state change, and the retention guarantee. What is missing is what the call returns (e.g., child cluster IDs) and whether repeated splits are idempotent, but these are minor gaps given the schema and annotations.

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 clusterId, customerId, and conditionKey are already fully documented, including the constraint that conditionKey must be a splitConditionKey taking multiple values. The description's phrase 'one more condition' loosely reinforces conditionKey but adds no new syntax or constraint beyond the schema, so the baseline 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?

States a specific verb and resource ('Split an undecided cluster') plus the splitting dimension ('by one more condition') and the motivating condition ('when its members are not actually one behavior'). An agent can distinguish this from record_review_decision or decide_approval without opening any schema.

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?

Gives a clear trigger ('when its members are not actually one behavior') and follow-up guidance ('decide on the children afterwards'), which tells the agent this is a precursor to a decision, not the decision itself. It never names the alternative tools or states when NOT to split, so it falls short of full routing guidance.

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

start_model_testStart Model TestAInspect

Start a production A/B test that changes only the model: the agent's current instruction runs on a second model and the cheaper one ships only if it holds quality. No optimization is required. The variant arm is delivered to the SDK, which must be configured to serve the target model (same-client override or a resolveModel hook). Promotion switches the agent's model and the deployment is verified as a model swap on fresh traffic.

NameRequiredDescriptionDefault
agentIdYesThe agent whose model is being tested
customerIdNo(Converra superadmin only) Target customer ID
targetModelYesProvider model id the variant arm runs on, for example gpt-5.6-mini or accounts/<account>/models/<model>. Not validated against the catalog.
scoreDefinitionNoProduction score contract: gated_v1 (default) or artifact_v1 for saved artifact base scores.
trafficAllocationNoPercent of user traffic entering the test, 1-100. Default: 10.
variantPercentageNoPercent of in-test traffic assigned to variant, 1-99. Default: 50.
minScoredConversationsPerArmNoScored runs each arm needs before the parity rule may decide. Default: 300; minimum 30 (the post-swap verifier's cohort floor).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare it is not read-only, not destructive, and closed-world, so the description earns credit for adding the actual lifecycle: the variant arm is delivered to the SDK, quality parity gates the decision, and promotion results in a verified model swap on fresh traffic. It does not say whether a test can be started twice concurrently or what happens to an existing test, but the side effects it does disclose are substantive and consistent with destructiveHint=false.

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?

Three dense sentences, front-loaded with the purpose and scope before moving to SDK prerequisites and promotion behavior. The SDK-configuration sentence is information-dense and slightly syntax-heavy, but each sentence carries non-redundant information and none is filler.

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

Completeness4/5

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

For a mutation tool with no output schema and annotations covering only safety hints, the description supplies the missing conceptual model: what varies, what gates promotion, and what integration is required. It does not describe the created object or how to observe the test afterward, though get_production_test and get_model_optimization_status siblings partially cover that.

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 parameter meanings are already documented, giving a baseline of 3. The description still adds real semantics for targetModel by explaining that it must be served through SDK configuration (same-client override or resolveModel hook) rather than merely passed in, which is not 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?

The description names a specific verb and resource (start a production A/B test) and immediately narrows the scope to model-only changes, stating that the instruction stays fixed while a second model serves the variant. Combined with 'No optimization is required,' this implicitly separates it from optimize_model, trigger_optimization, benchmark_models, and start_production_test well enough that an agent can route correctly.

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?

It gives clear usage context (production A/B test where only the model varies, cheaper model ships only if quality holds) and states a precondition for success: the SDK must be configured to serve the target model via a same-client override or resolveModel hook. It never explicitly names alternatives such as benchmark_models for offline comparison or the prompt-variant production test tool, so the when-not-to-use side is left to inference.

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

start_production_testStart Production TestBInspect

Start a production A/B test for a completed optimization. v0.5 is SDK-only and uses manual promote/rollback.

NameRequiredDescriptionDefault
processIdYesThe completed optimization process ID
variantIdNoVariant prompt ID to test. Defaults to final winner when omitted.
customerIdNo(Converra superadmin only) Target customer ID
scoreDefinitionNoProduction score contract: gated_v1 (default) or artifact_v1 for saved artifact base scores.
trafficAllocationNoPercent of user traffic entering the test, 1-100. Default: 10.
variantPercentageNoPercent of in-test traffic assigned to variant, 1-99. Default: 50.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral note ('v0.5 is SDK-only and uses manual promote/rollback'), but omits what starting actually does (traffic begins flowing), whether it is reversible without rollback_production_test, and the superadmin requirement implied by customerId.

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 short sentences with the core action front-loaded and zero filler. The second sentence is terse to the point of being cryptic ('v0.5 is SDK-only'), but nothing is wasted.

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 six-parameter mutation tool with no output schema, the description is thin: it never says what the tool returns, what happens to live traffic afterward, or how the test is later ended. Schema carries the parameter detail, so this is 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 all six parameters including the scoreDefinition enum and traffic defaults are already documented in the schema. The description only reinforces that processId refers to a *completed* optimization, adding marginal meaning over structured data. Baseline 3 applies.

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 ('Start a production A/B test') plus the precondition ('for a completed optimization'), so the agent knows this launches a live test rather than simulating one. It does not name or differentiate itself from close siblings like simulate_ab_test, start_model_test, or promote_production_test.

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 phrase 'for a completed optimization' gives an implicit precondition, and 'manual promote/rollback' hints at the lifecycle. But there is no explicit when-to-use versus simulate_ab_test (offline) or start_model_test, and no statement of what must be true before calling.

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

stop_optimizationStop OptimizationC
Destructive
Inspect

Stop a running optimization process

NameRequiredDescriptionDefault
reasonNoOptional reason for stopping (logged for debugging)
processIdYesThe optimization process ID to stop
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, giving the safety profile, but the description adds nothing on top of that. It does not say whether stopping is graceful or immediate, whether it is irreversible, whether the process can be resumed, or what state the optimization is left in.

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?

A single short sentence with zero filler and the action front-loaded. It is efficient, though the extreme terseness borders on under-specification rather than tightness.

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 output schema, the description should cover post-conditions and reversibility. It says nothing about what happens to the running process, whether partial results survive, or what a caller should expect on success, leaving the agent under-informed.

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 all three parameters (processId, reason, customerId) are documented in the schema itself. The description adds no extra meaning such as where to obtain processId or how the superadmin-only customerId behaves, so the baseline 3 applies.

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 ('Stop') and resource ('optimization process') that an agent can map directly to intent. However, it does nothing to distinguish itself from adjacent siblings such as delete_optimization or trigger_optimization, so the stop-vs-delete boundary is left to inference.

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 when-to-use guidance, no prerequisites, and no mention of alternatives like delete_optimization or get_model_optimization_status. The agent must guess whether stopping is the right action or whether deletion is intended.

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

sync_context_from_urlSync Context from URLB
Destructive
Inspect

Extract business context (industry, objectives) from a company website URL. Uses AI to analyze the website content and automatically populates the customer's business context fields. This helps the optimization agent understand the business better.

NameRequiredDescriptionDefault
urlYesThe company website URL to extract context from (e.g., 'https://example.com')
overwriteNoIf true, overwrite existing context values. If false (default), only fill empty fields.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, and the description adds that AI analyzes website content to populate fields. However, it does not warn that existing context can be overwritten (destructiveHint=true) – that nuance lives only in the schema's 'overwrite' param, so the description misses the most safety-relevant 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?

Three short sentences, front-loaded with the core action and free of redundancy. The final sentence about helping the optimization agent is mildly expendable but not wasteful.

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 destructive, open-world mutation tool with no output schema, the description covers purpose but omits failure behavior, overwrite implications, and the superadmin-scoped 'customerId' context (left to the schema). Adequate but with clear gaps for a mutation.

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 'url', 'overwrite', and 'customerId' fully documented in the schema itself. The description names the extracted fields (industry, objectives) but adds no syntax or format detail beyond what the schema already provides, so the baseline applies.

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 – 'Extract business context (industry, objectives) from a company website URL' – and names the fields populated. An agent can identify the operation clearly, though it does not explicitly contrast itself with any sibling 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?

The description notes that this 'helps the optimization agent understand the business better,' implying context, but offers no explicit when-to-use, when-not-to-use, or alternative guidance. Nothing tells the agent when syncing from URL is preferable to other context-setting flows.

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

sync_runsSync RunsA
Destructive
Inspect

Sync runs from an external integration source (e.g., LangSmith, Langfuse). The integration must be configured first. Use list_integrations to find available integrations. Optionally configure auto-sync settings.

NameRequiredDescriptionDefault
sourceYesThe integration source to sync from
maxTracesNoMaximum number of traces to sync (default: 500, max: 2000)
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
fullResyncNoRe-import sessions that already exist (clears the sync watermark and skips the exists-check) and REGENERATE their insights. Use with maxConversations to bound scope.
lookbackDaysNoHow many days back to sync (default: 30)
enableAutoSyncNoEnable automatic syncing of new runs
maxConversationsNoCap on runs imported/re-imported this run (10-200)
syncIntervalMinutesNoAuto-sync interval: 60 (hourly), 360 (6h), 720 (12h), 1440 (daily). Default: 1440

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so safety is covered. The description adds useful prerequisite context but does not elaborate on the destructive behavior (e.g., full resync clearing watermarks and regenerating insights), which the schema's fullResync parameter partly documents.

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 front-loaded with the core action and consists of short, purposeful sentences. 'Optionally configure auto-sync settings' is slightly vague but still 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?

With annotations covering the destructive safety profile and the schema fully documenting all parameters, the description supplies the key prerequisite and an adjacent tool reference. It could do more to explain the operational impact of repeated or full resync, but it is adequate for 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 description coverage is 100% and all 8 parameters are documented with formats, defaults, and bounds. The description adds little parameter-level detail beyond naming example sources, so the baseline of 3 applies.

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 a specific verb and resource: 'Sync runs from an external integration source'. This clearly separates it from listing tools like list_runs and from sync_context_from_url, though it does not explicitly name a sibling it is not.

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?

It gives a clear prerequisite ('The integration must be configured first') and points to list_integrations for setup. It stops short of stating when not to use this tool or how it compares to other sync or verification siblings.

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

trigger_optimizationTrigger OptimizationAInspect

Start a new optimization process for an agent. Returns the optimization process ID.

IMPORTANT PREREQUISITES (optimization will fail without these):

  1. RUNS REQUIRED: The agent must have run transcripts uploaded via create_run. Optimization analyzes real user/AI dialogues to improve the agent - it cannot run without them.

  2. Business context (industry and/or objectives) must be set via sync_context_from_url or update_settings.

You can either:

  1. Use an existing agent: provide agentId

  2. Auto-create a new agent: provide prompt + agentName + llmModel

When auto-creating, the agent will be created and activated automatically before optimization starts. NOTE: Even with auto-create, you must still upload runs using create_run before triggering optimization.

NameRequiredDescriptionDefault
modeNoOptimization mode: 'validation' for statistical rigor, 'exploratory' for faster iteration (default: exploratory)
intentNoOptional optimization intent to guide the process
promptNoThe agent's system prompt content to optimize. Required if agentId is not provided.
agentIdNoThe ID of an existing agent to optimize. If not provided, use prompt + agentName + llmModel to auto-create.
llmModelNoLLM model for the auto-created agent (e.g., 'gpt-4o', 'claude-sonnet-5-5', 'o1'). Required if using prompt content.
agentNameNoDisplay name for the auto-created agent. Required if using prompt content instead of agentId.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
personaIdsNoSpecific persona IDs to test against (use list_personas to find IDs)
variantCountNoNumber of variants to generate and test (default: 3, max: 5)
customVariantsNoCustom variant content to test. Each variant needs either 'content' (full prompt) or 'diff' (unified diff patch applied to baseline).
simulationTypeNoSimulation policy override. Context-grounded modes require eligible runtime context for this exact agent prompt.
agentDescriptionNoOptional description for the auto-created agent.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only flag it as a non-readonly, non-destructive, closed-world mutation. The description adds critical behavior beyond that: hard prerequisites that cause failure, the auto-creation-plus-activation side effect, and the returned process ID. These are exactly the traits an agent cannot infer from the structured fields.

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?

Front-loaded with the core action and return value, then structured into prerequisites and two modes with a labeled list. Slightly long, but every section (prerequisites, both modes, the repeated runs warning) carries actionable weight.

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 12-param, no-output-schema tool this is thorough: it covers the return value, the failure prerequisites, and the two invocation modes. It omits guidance on the more advanced parameters (variantCount, simulationType, customVariants, personaIds), though those are fully described in the schema.

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 100%, so the schema already documents each parameter; baseline would be 3. The description adds genuine conditional meaning by explaining the agentId-vs-prompt branching and which fields are required for each path, which the schema alone does not express.

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

Purpose5/5

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

States a precise verb+resource ('Start a new optimization process for an agent') and the return value ('Returns the optimization process ID'). It is clearly distinguishable from siblings like validate_variant, apply_variant, stop_optimization, and list_optimizations.

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 enumerates when the tool will work and when it will fail ('optimization will fail without these'), names the required sibling tools (create_run, sync_context_from_url, update_settings), and lays out the two invocation paths (existing agentId vs auto-create with prompt+agentName+llmModel).

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

update_agentUpdate AgentC
Destructive
Inspect

Update an existing agent's system prompt or settings

NameRequiredDescriptionDefault
nameNoNew display name
tagsNoNew tags
statusNoAgent status
agentIdYesThe ID of the agent to update
contentNoNew system prompt content
isActiveNoWhether the agent is active
llmModelNoLLM model to use
objectiveNoBusiness objective
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
constraintsNoWhat must NOT change during optimization - required structural elements or output formats
descriptionNoNew description
temperatureNoTemperature setting (0-2)
technicalNotesNoEngineering rationale explaining why the agent's prompt is structured this way
customEvaluationsNoAgent-level custom evaluation criteria (overrides org-level). Max 5.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already flag this as a non-read-only, destructive write (destructiveHint=true), so the safety profile is known. The description adds nothing beyond that: it doesn't say whether omitted fields are preserved or cleared, whether the change is reversible, or that mutations take effect immediately.

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?

A single short sentence with no waste and a front-loaded verb. It is concise to the point of being thin for a 14-parameter mutation tool, so it is adequate rather than exemplary.

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 14-parameter update with no output schema and no annotations beyond the safety hints, the description covers only a fraction of the tool's surface and omits any note about partial-update semantics. An agent would have to open the schema to learn most of what matters.

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 every one of the 14 parameters is already documented in the schema. The description only gestures at 'system prompt or settings', adding no format or constraint detail beyond what the schema provides, so the baseline of 3 applies.

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 (Update) and resource (existing agent), which is enough to distinguish it from create_agent, delete_agent and get_agent. However, 'system prompt or settings' undersells the actual scope, since the schema lets you change name, tags, status, model, temperature, custom evaluations and more.

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 versus create_agent or delete_agent, no mention of prerequisites such as ownership or permissions, and no note about who may call it. Usage is only implied by the verb.

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

update_personaUpdate PersonaC
Destructive
Inspect

Update an existing persona's name, description, or tags

NameRequiredDescriptionDefault
nameNoNew persona name
tagsNoNew tags
personaIdYesThe persona ID to update
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
descriptionNoNew description

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true, which is counterintuitive for an 'update' and would warrant explanation, yet the description says nothing. It also omits whether this is a partial patch or a full replace, whether omitted fields are cleared, and that customerId is a superadmin-only acting-on-behalf parameter. For a destructive mutation with no output schema, these gaps are material.

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?

A single tight sentence with the resource and mutable fields front-loaded and zero filler. It is appropriately sized for what it chooses to say, though its brevity comes at the cost of the behavioral detail noted elsewhere.

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?

A mutation tool with destructiveHint=true and no output schema needs to explain replace-vs-merge behavior, reversibility, and permission requirements. The description covers none of this, leaving the agent without the information needed to invoke it safely.

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 five parameters including the superadmin-only customerId. The description names name/description/tags, adding no syntax or semantics 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.

Purpose4/5

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

States a specific verb (Update) and resource (persona) plus the affected fields and the 'existing' scoping constraint. It does not distinguish itself from the sibling create_persona/get_persona/list_personas beyond the verb, so it stops short of 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?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as create_persona (for new personas) or get_persona (for reads). The agent must infer the entire usage boundary from the verb alone.

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

update_settingsUpdate SettingsB
Destructive
Inspect

Update account settings. Only provided fields will be updated.

NameRequiredDescriptionDefault
generalNoGeneral account settings
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
optimizationNoOptimization settings

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely useful merge semantics ('Only provided fields will be updated'), clarifying that this is a partial rather than full replacement. It says nothing about what is destroyed, permission requirements, or the superadmin-only customerId path.

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 short sentences with zero waste, and the core action is front-loaded. It is appropriately sized for a brief mutation tool, though it leans toward under-specification rather than tight 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?

For a destructive tool with deeply nested settings objects, a superadmin-only customerId field, and no output schema, the description is too thin: it omits permission requirements, the implications of the destructive hint, and how the general/optimization blocks interact.

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%, including rich nested documentation for general and optimization settings, so the schema carries the parameter burden and the baseline is 3. The description's merge statement adds payload-level meaning but no per-parameter detail 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?

States a specific verb and resource ('Update account settings'), which is clear enough to separate from read-only siblings like get_settings. It does not, however, distinguish itself from the other mutating siblings (update_agent, update_persona, update_webhook) or clarify the scope of 'account'.

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 when-to-use guidance, no prerequisites, and no named alternative. The only supporting sentence is about merge behavior, which is a behavioral trait rather than usage guidance, leaving the agent to 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.

update_training_job_factsUpdate Training Job FactsAInspect

Report a job's independent facts: status, endpoint cleanup, spend, servable model id, provider job ref, receipts. Only the fields sent are touched. Facts that mean money is being spent (training/evaluating status, spend, model id, provider ref) are refused without an approved training_spend record, spend is bound to the approved cap, and status and cleanup only move forward. The gate outcome is not settable here. For the training runner's key. SCOPE: runner — held literally; write, admin and superadmin keys cannot call it.

NameRequiredDescriptionDefault
jobIdYesTraining job ID
spendNo
statusNo
receiptsNoMerged by kind and reference; earlier receipts are kept (max 32 per report)
projectIdYesFine-tuning project ID from list_fine_tuning_projects
customerIdNo(Converra superadmin only) Target customer ID
providerJobRefNo
servingModelIdNoaccounts/<account>/models/<model>; write-once
endpointCleanupNo

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: partial-update semantics ('Only the fields sent are touched'), a validation gate (money facts refused without an approved training_spend record, spend bound to the approved cap), monotonic constraints on status and cleanup, and receipts merge behavior. The annotations only say non-read-only/non-destructive; the description carries the real behavioral profile.

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?

Every clause carries a rule rather than filler, and the fact list is front-loaded. The dense parenthetical asides and the trailing SCOPE sentence make it slightly harder to scan than ideal, but the size is proportionate to the number of rules.

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 9-parameter, nested-object mutation with no output schema and no annotations covering mutation semantics, the description covers gating, monotonicity, partial updates, and auth scope well. It omits what error/response behavior looks like on a refused or partial write, which is the one remaining unknown 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?

Schema description coverage is 56%, and the description compensates by explaining the semantics of the gated fields — spend is capped to the approved record and status/cleanup only advance — which the schema enum alone does not convey. It does not cover customerId's superadmin-only targeting or the nested spend sub-fields, leaving a modest 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?

States a specific verb ('Report a job's independent facts') plus the exact resource and enumerates the fact families it writes (status, endpoint cleanup, spend, serving model id, provider job ref, receipts). This cleanly separates it from read-side siblings like get_training_job and creation-side like record_training_job.

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?

Gives explicit when-not guidance via scope: 'For the training runner's key. SCOPE: runner — held literally; write, admin and superadmin keys cannot call it,' and warns that 'The gate outcome is not settable here,' implicitly routing that to the gate-result tool. It never explicitly names an alternative tool to use instead for a given case, so it stops short of a 5.

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

update_webhookUpdate WebhookC
Destructive
Inspect

Update a webhook's URL, events, or active status

NameRequiredDescriptionDefault
urlNoNew HTTPS URL for the webhook
eventsNoNew list of events to subscribe to
isActiveNoEnable or disable the webhook
webhookIdYesThe webhook ID to update
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, but the description adds nothing beyond restating mutable fields. It does not warn that updates are destructive/irreversible or mention the superadmin requirement surfaced only in the schema for customerId.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably too terse to carry the behavioral burden of a destructive mutation.

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 destructive mutation with no output schema and a superadmin-gated parameter, the description is minimal but the schema is fully self-documenting. It should at least flag the destructive nature and permission constraint, which it omits.

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 all five parameters are documented in the schema. The description's field list (URL, events, active status) mirrors what the schema already states, adding no syntax or format detail beyond it. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

Clear verb+resource ('Update a webhook') and it enumerates the mutable fields (URL, events, active status), so an agent distinguishes it from create_webhook and delete_webhook. It does not explicitly name those siblings, but the resource 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 when-to-use guidance, no prerequisites, and no reference to alternatives like create_webhook or get_webhook. The agent must infer usage purely from the tool name.

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

validate_variantValidate VariantAInspect

Re-test a variant from a prior optimization head-to-head against the original baseline on a fresh scenario pool. Generates NO new variants — runs only V1 vs the source baseline. Use this to confirm whether a winning variant is real signal or sample noise (especially when an exploratory run was small). Returns a new processId; poll get_optimization_details on it for results.

NameRequiredDescriptionDefault
processIdYesSource optimization process ID (the run that produced the variant you want to validate)
variantIdYesID of the variant to test from that optimization. Get this from get_variant_details.
customerIdNo(Converra superadmin only) Target customer ID to act on behalf of
scenarioCountNoScenarios per persona to simulate (1-50, default 8). Higher values add evidence and cost.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations show readOnlyHint=false and destructiveHint=false, and the description adds meaningful context beyond them: it is asynchronous ('Returns a new processId; poll get_optimization_details on it for results') and produces no new variants, only a re-run of V1 vs baseline. It doesn't cover permissions or cost beyond what the schema states, but adds solid behavioral value the annotations don't provide.

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 tight sentences, front-loaded with the core action and scope, followed by the distinguishing constraint and the async return mechanism. Every sentence earns its place with zero filler.

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?

No output schema exists, yet the description compensates by explaining the return value (a new processId) and the follow-up call to retrieve results. Combined with full schema coverage and clear annotations, an agent has everything needed to invoke and follow up 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 both required and optional parameters are already fully documented in the schema (including scenarioCount's range and cost note). The description adds the 'V1 vs baseline' framing but no new parameter-level meaning, so baseline 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?

States a specific verb and resource ('Re-test a variant... head-to-head against the original baseline on a fresh scenario pool') and explicitly scopes what it does NOT do ('Generates NO new variants — runs only V1 vs the source baseline'). This distinguishes it from siblings like apply_variant and get_variant_details without requiring schema inspection.

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?

Gives clear when-to-use guidance ('to confirm whether a winning variant is real signal or sample noise, especially when an exploratory run was small'). It does not name specific alternative tools or an explicit when-not, but the condition for use is unambiguous.

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

verify_integrationVerify IntegrationA
Read-only
Inspect

Verify that your Converra integration is working by checking recent runs. Run this after setting up the SDK or webhook to confirm data is flowing.

NameRequiredDescriptionDefault
promptNameNo(Optional) Agent name to check for — filters to a specific agent

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish this is a safe, non-destructive, closed-world read, so the bar is lower. The description adds that it inspects recent runs and is intended as a post-setup smoke check, but says nothing about what happens when there are no runs, latency, or any auth/prerequisite 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 short sentences with no filler; the purpose is front-loaded and the usage condition follows immediately. Every clause 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?

There is no output schema, so the description could reasonably describe what verification returns (a pass/fail, a run list, an error when no data flows). As written, an agent knows why to call it but not what to expect back, leaving a real gap for a diagnostic 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% and the single optional promptName parameter is fully documented in the schema, so the baseline is 3. The description adds no syntax, defaulting, or filtering detail beyond what the schema already states.

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 ("Verify that your Converra integration is working") and clarifies the mechanism ("by checking recent runs"). It is clear on its own, but it does not distinguish itself from nearby siblings such as list_integrations, get_integration_guide, or get_verification_evidence, so an agent must infer the boundary.

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?

Gives explicit temporal context: "Run this after setting up the SDK or webhook to confirm data is flowing." That tells the agent when this tool is appropriate. It stops short of naming alternatives (e.g., list_integrations for enumerating integrations rather than validating one), so it is strong but not complete.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 108 tool updates
    • First observedadd_insight_feedback
    • First observedadd_optimization_feedback
    • First observedadd_regression_scenarios
    • First observedanalyze_agent
    • First observedapply_variant
    • First observedbatch_regenerate_insights
    • First observedbenchmark_models
    • First observedbind_dataset_version
    • First observedclassify_optimization_failure
    • First observedclose_fine_tuning_project
    • First observedcreate_agent
    • First observedcreate_dataset
    • First observedcreate_fine_tuning_project
    • First observedcreate_persona
    • First observedcreate_run
    • First observedcreate_webhook
    • First observeddecide_approval
    • First observeddelete_agent
    • First observeddelete_optimization
    • First observeddelete_run
    • First observeddelete_user
    • First observeddelete_webhook
    • First observeddismiss_deployment
    • First observedfix_worst_run
    • First observedfreeze_dataset_version
    • First observedget_account
    • First observedget_adjudication_queue
    • First observedget_agent
    • First observedget_agent_status
    • First observedget_benchmark_status
    • First observedget_converra_roi
    • First observedget_dataset
    • First observedget_deployment_impact
    • First observedget_fine_tuning_project
    • First observedget_fleet_intelligence
    • First observedget_fleet_overview
    • First observedget_fleet_timeline
    • First observedget_gate_result
    • First observedget_insights
    • First observedget_integration_guide
    • First observedget_model_optimization_status
    • First observedget_optimization_details
    • First observedget_persona
    • First observedget_pr_context
    • First observedget_production_test
    • First observedget_regression_suite
    • First observedget_review_case
    • First observedget_review_queue
    • First observedget_run
    • First observedget_run_calibration_review
    • First observedget_run_finding_context
    • First observedget_run_insights
    • First observedget_run_step_diagnosis
    • First observedget_score_timeline
    • First observedget_settings
    • First observedget_simulation_status
    • First observedget_step_failure_aggregation
    • First observedget_stream_url
    • First observedget_trace_lineage
    • First observedget_training_job
    • First observedget_usage
    • First observedget_variant_details
    • First observedget_verification_evidence
    • First observedget_webhook
    • First observedget_worst_run
    • First observedlist_agents
    • First observedlist_dataset_examples
    • First observedlist_dataset_versions
    • First observedlist_datasets
    • First observedlist_fine_tuning_projects
    • First observedlist_integrations
    • First observedlist_optimization_feedback
    • First observedlist_optimizations
    • First observedlist_pending_approvals
    • First observedlist_personas
    • First observedlist_runs
    • First observedlist_webhooks
    • First observedoptimize_model
    • First observedpreview_run_finding_prompt_diff
    • First observedpromote_production_test
    • First observedpublish_external_run_insight_generation
    • First observedrecord_gate_result
    • First observedrecord_review_decision
    • First observedrecord_run_calibration_review
    • First observedrecord_training_job
    • First observedrefresh_agent_analysis
    • First observedrefresh_agent_insights
    • First observedrefresh_fleet_intelligence
    • First observedregenerate_run_insights
    • First observedregression_test
    • First observedrequest_approval
    • First observedrollback_production_test
    • First observedsimulate_ab_test
    • First observedsimulate_agent
    • First observedsplit_review_cluster
    • First observedstart_model_test
    • First observedstart_production_test
    • First observedstop_optimization
    • First observedsync_context_from_url
    • First observedsync_runs
    • First observedtrigger_optimization
    • First observedupdate_agent
    • First observedupdate_persona
    • First observedupdate_settings
    • First observedupdate_training_job_facts
    • First observedupdate_webhook
    • First observedvalidate_variant
    • First observedverify_integration

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Turns existing REST/OpenAPI APIs into governed MCP tools for AI agents without modifying the APIs themselves, generating agent-friendly tools from specs, Postman collections, HAR files or cURL commands. Owners enable tools and set policies, while every call injects upstream credentials, redacts PII, projects responses to fit context limits, and produces a full audit trail.
    41 npm
    5
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to enforce spec-driven development and verify code before it is marked done, using six tools that catch invented APIs, scan for hallucinated content, check plugin conformance, sandbox-run tests, validate schemas, and record audit evidence.
    771 npm
    8
    PolyForm Noncommercial 1.0.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects AI coding assistants and other clients to 2,000+ models and APIs — search, social, scraping, e-commerce, finance, plus LLM, image, video, and audio generation — through a local MCP bridge that needs no per-API keys. Users approve a single browser sign-in, then agents can discover, inspect pricing and schemas, run calls, track run status, and roll back configuration changes.
    556,724 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources