Skip to main content
Glama
ShadowGraph

ShadowGraph

Official

shadowgraph_review_signals

Retrieve saved review signals without rechecking conditions or creating new signals; filter by status and return current items with completeness.

Instructions

Read saved review signals without reevaluating conditions or creating signals. shadowgraph_review rechecks conditions and creates signals; shadowgraph_ack_review acknowledges one. Without an access key, this read saves nothing. An access key commits a revision and bounded audit. Returns { items, completeness }, unpaginated.

Input Schema

NameRequiredDescriptionDefault
statusNoFilter by state. Omit to return both.
grantIdNoAlias for accessId; conflicting identifiers are refused.
projectNoProject or confirmed workspace binding; otherwise origin-only. No identity returns an empty scoped view.
accessIdNoGrant ID, rechecked at use. Widens reads only, never write authority. Presenting an access key commits a revision and bounded operational audit: at most one aggregate per grant, surface, outcome and UTC day. Conflicts with a different grantId are refused.
originIdNoCapture-origin id; with no project the record belongs to it alone.

Output Schema

NameRequiredDescriptionDefault
itemsYesAll known matching items inside this boundary.
completenessYesDeclares exactly what this response left out, so a truncated result can never look complete.
readProvenanceNoOriginal read bounds; reuse intersects these with currently valid authority.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.42.4
    • changedOutput schema / properties / completeness / properties / capture / properties / gaps / items / properties / reason / enum
      Previous value: -[
      -  "maxQueueDepth",
      -  "maxStoreBytes",
      -  "maxItemsPerSession",
      -  "session_in_another_project",
      -  "raw_expired",
      -  "transcript_unrecognised",
      -  "session_left_project",
      -  "transcript_rewritten",
      -  "transcript_reanchored",
      -  "transcript_incomplete_at_end",
      -  "transcript_line_oversized",
      -  "tool_calls_not_captured"
      -]New value: +[
      +  "maxQueueDepth",
      +  "maxStoreBytes",
      +  "maxItemsPerSession",
      +  "session_in_another_project",
      +  "raw_expired",
      +  "prior_setup",
      +  "transcript_unrecognised",
      +  "session_left_project",
      +  "transcript_rewritten",
      +  "transcript_reanchored",
      +  "transcript_incomplete_at_end",
      +  "transcript_line_oversized",
      +  "tool_calls_not_captured"
      +]
    • addedOutput schema / properties / completeness / properties / capture / properties / priorSetup
      Added value: +{
      +  "description": "Unextracted items of no or an earlier setup; never extracted by the current one.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
  2. Addedv0.42.3
  3. Removedv0.42.1
  4. Changed2 schema fields changedv0.40.1
    • addedInput schema / properties / project / description
      Added value: +"Only signals whose decision belongs to this project. Omit for every project."
    • addedInput schema / properties / status / description
      Added value: +"Filter by state. Omit to return both."
  5. First observedv0.40.0

TDQS

A4.6/5.0
Behavior5/5

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

The annotations declare readOnlyHint=false on a tool whose name suggests a read, and the description resolves exactly that tension: keyless calls persist nothing, while presenting an access key commits a revision and a bounded audit. That is behavior an agent could not infer from the annotations and would likely get wrong. It also discloses the return shape and that results are unpaginated.

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?

Five short sentences with no filler, sequenced purpose → alternatives → side effects → return shape. The most decision-relevant constraint (keyless read is inert) is front-loaded before the alternative comparisons.

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 an output schema present, the one-line return summary is sufficient, and the description covers alternatives, scoping, and the write-on-key behavior. The remaining gap is that "commits a revision" is undefined jargon and the description never says what happens on an invalid or mismatched key beyond the schema's conflict note.

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 accessId/grantId entries already spell out grant rechecking, conflict refusal, and the audit aggregate limit, so the description only restates the access-key behavior in general terms. It adds no syntax or format detail for status, project, or originId 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?

"Read saved review signals without reevaluating conditions or creating signals" gives a specific verb (read) plus resource (saved review signals) and a scope qualifier that immediately separates it from the two siblings that do re-evaluate or acknowledge. An agent can distinguish it from shadowgraph_review and shadowgraph_ack_review 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?

It explicitly routes: use this to read saved signals, use shadowgraph_review when conditions must be rechecked and signals created, and shadowgraph_ack_review to acknowledge one. The "without an access key this read saves nothing" clause further tells the caller which mode of invocation is side-effect-free.

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