Skip to main content
Glama

polaris_waivers

Propose, approve, reject, or revoke time-limited waivers for failing criteria, documenting justification and risk to temporarily accept exceptions.

Instructions

Manage waivers: explicit, justified, time-limited exceptions for failing criteria.

Actions and required parameters:

  • propose: fitness_function_id + reason (why the exception is temporarily acceptable); optional criterion_keys (failing criteria covered; omit for all), risk, compensating_action, starts_at / expires_at (RFC 3339; expiresAt must be in the future and after startsAt). Enters state PROPOSED; only takes effect on approval.

  • decide: waiver_id + decision (approve|reject|revoke, optional reason). Approving accepts the risk (the waiver then influences dispositions until it expires); rejecting declines the proposal; revoking ends an approved waiver early. Deciding twice yields 409.

Waiver JSON: {id, parentId: fitnessFunctionId, kind: "waiver", status: PROPOSED|APPROVED| REJECTED|REVOKED, revision, data: {reason, criterionKeys?, risk?, compensatingAction?, startsAt?, expiresAt?}, createdAt, updatedAt}. Only APPROVED, unexpired waivers influence dispositions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
riskNo
actionYes
reasonNo
decisionNo
starts_atNo
waiver_idNo
expires_atNo
criterion_keysNo
compensating_actionNo
fitness_function_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so richly: the state machine (PROPOSED|APPROVED|REJECTED|REVOKED), the rule that only APPROVED unexpired waivers influence dispositions, the 409 on deciding twice, and the temporal constraint that expiresAt must be in the future and after startsAt. These are exactly the non-obvious traits an agent needs.

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

Conciseness4/5

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

Front-loaded with actions and required parameters, then a structured JSON shape. Nearly every sentence is substantive, though the trailing Waiver JSON block and state enumeration make it dense; a touch long, but well organized and free of 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?

For a 10-parameter, two-action mutation tool with no annotations and no output schema, the description supplies the missing pieces: required params per action, state transitions, idempotency/conflict behavior, and the returned object shape. Nothing an agent needs to call it correctly is absent.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it maps every one of the 10 parameters to its action (fitness_function_id+reason for propose; waiver_id+decision for decide) and adds meaning beyond the schema, such as criterion_keys defaulting to all criteria and the RFC 3339 / future-date constraints on the timestamps.

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 ('Manage waivers') and immediately defines what a waiver is. It then distinguishes the two sub-actions (propose vs decide) with their distinct required parameters, so an agent can tell which action to invoke. The resource (waivers) is clearly distinct from siblings like polaris_fitness_functions.

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 per-action conditions: propose 'enters state PROPOSED; only takes effect on approval,' decide explains approve/reject/revoke semantics, and criterion_keys says 'omit for all.' This is strong within-tool guidance, though it does not route between this tool and sibling tools (e.g., when a waiver is preferable to a fitness_function edit).

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