Skip to main content
Glama

Challenge an Hourkeeper decision

challenge_hourkeeper_decision
Idempotent

Append an authenticated challenge to one public Hourkeeper decision for moderator review. Use decision_id from inspect_hourkeeper_reasoning/get_hourkeeper_history and provide the required contribution/idempotency key. It does not overwrite the decision or guarantee reversal. Use challenge_cassie_claim for a claim rather than an Hourkeeper decision.

Input Schema

NameRequiredDescriptionDefault
excerptNoOptional exact source excerpt, at most 500 characters; do not reconstruct missing text.
task_idNoOptional public unresolved-task ID from get_open_cassie_questions or the mesh state.
claim_idNoExisting public claim ID; required by challenge_cassie_claim and support_cassie_claim. Obtain it from public mesh state or a search result.
signatureNoOptional caller-supplied signature envelope. A self-supplied signature is not treated as independent verification.
confidenceNoOptional contributor-estimated confidence from 0 to 1; defaults to 0.5. It is not independently verified probability.
source_urlNoOptional absolute URL of the source actually consulted, up to 1000 characters; do not guess citations.
decision_idYesRequired public Hourkeeper decision ID from the history/detail tool.
source_typeNoOptional classification for the cited source. Choose the closest listed value; do not label interpretation as canon.
contributionYesRequired attributed note text, 8–4000 characters. Keep the contribution's evidence status clear; cite sources in the separate source fields.
source_labelNoOptional human-readable source title or label, up to 160 characters.
parent_note_idNoOptional existing note ID to reply to; for a shared note use the original note ID returned by its author/read flow.
idempotency_keyYesRequired stable caller-generated key (8–160 characters) for retry-safe recording. Reuse only for the same logical payload; a different payload under the same key is rejected.
knowledge_layerNoOptional knowledge-layer label from the listed values. Reserved canon/author layers may be rejected unless source approval permits them.
parent_claim_idNoOptional public claim ID that this note explicitly extends or relates to.
reasoning_summaryNoOptional concise rationale, up to 2000 characters; this is an attributed explanation, not a request to disclose private chain-of-thought.
request_publicationNoWhether to request publication/review; defaults to false. True is a request only, not a publication guarantee; trust, moderation and feature policy control visibility.
evidence_relationshipNoOptional relationship of the cited evidence to the referenced claim: supports, challenges or contextualizes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / claim_id / description
      Added value: +"Existing public claim ID; required by challenge_cassie_claim and support_cassie_claim. Obtain it from public mesh state or a search result."
    • addedInput schema / properties / confidence / description
      Added value: +"Optional contributor-estimated confidence from 0 to 1; defaults to 0.5. It is not independently verified probability."
    • addedInput schema / properties / contribution / description
      Added value: +"Required attributed note text, 8–4000 characters. Keep the contribution's evidence status clear; cite sources in the separate source fields."
    • addedInput schema / properties / decision_id / description
      Added value: +"Required public Hourkeeper decision ID from the history/detail tool."
    • addedInput schema / properties / evidence_relationship / description
      Added value: +"Optional relationship of the cited evidence to the referenced claim: supports, challenges or contextualizes."
    • addedInput schema / properties / excerpt / description
      Added value: +"Optional exact source excerpt, at most 500 characters; do not reconstruct missing text."
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Required stable caller-generated key (8–160 characters) for retry-safe recording. Reuse only for the same logical payload; a different payload under the same key is rejected."
    • addedInput schema / properties / knowledge_layer / description
      Added value: +"Optional knowledge-layer label from the listed values. Reserved canon/author layers may be rejected unless source approval permits them."
    • addedInput schema / properties / parent_claim_id / description
      Added value: +"Optional public claim ID that this note explicitly extends or relates to."
    • addedInput schema / properties / parent_note_id / description
      Added value: +"Optional existing note ID to reply to; for a shared note use the original note ID returned by its author/read flow."
    • addedInput schema / properties / reasoning_summary / description
      Added value: +"Optional concise rationale, up to 2000 characters; this is an attributed explanation, not a request to disclose private chain-of-thought."
    • addedInput schema / properties / request_publication / description
      Added value: +"Whether to request publication/review; defaults to false. True is a request only, not a publication guarantee; trust, moderation and feature policy control visibility."
    • addedInput schema / properties / signature / description
      Added value: +"Optional caller-supplied signature envelope. A self-supplied signature is not treated as independent verification."
    • addedInput schema / properties / source_label / description
      Added value: +"Optional human-readable source title or label, up to 160 characters."
    • addedInput schema / properties / source_type / description
      Added value: +"Optional classification for the cited source. Choose the closest listed value; do not label interpretation as canon."
    • addedInput schema / properties / source_url / description
      Added value: +"Optional absolute URL of the source actually consulted, up to 1000 characters; do not guess citations."
    • addedInput schema / properties / task_id / description
      Added value: +"Optional public unresolved-task ID from get_open_cassie_questions or the mesh state."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-read-only, idempotent, non-destructive behavior, and the description adds genuinely new context: the challenge is append-only, does not overwrite the decision, and does not guarantee reversal. It also signals an authentication requirement via 'authenticated challenge', though it does not detail what authentication entails.

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 short sentences, all front-loaded with the action first, then the required inputs, then the behavioral caveats, then the sibling routing. No filler and nothing redundant.

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 complex 17-parameter mutation with no output schema, the description covers the core action, required inputs, and side-effect limits. It stops short of describing what the caller gets back or what the review process does with the challenge, which would have closed the 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 description coverage is 100% with 17 well-documented parameters, so the schema carries the semantic load and the baseline is 3. The description only restates that decision_id, contribution, and idempotency_key are required, adding no format or usage 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?

The description states a specific verb (append a challenge) and resource (one public Hourkeeper decision) and scopes it to moderator review. It explicitly distinguishes itself from the nearest sibling by stating challenge_cassie_claim is for claims, not Hourkeeper 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?

It names the upstream tools that supply decision_id (inspect_hourkeeper_reasoning/get_hourkeeper_history) and the required inputs, and explicitly routes the claim case to challenge_cassie_claim. That is both a when-to-use and a when-not-to-use condition.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources