Skip to main content
Glama

Project issue ledger (list + lifecycle)

qa_issue_log

Track bugs across test runs in a project issue ledger by logging observations, marking fixes, verifying with evidence, suppressing noise, and reviewing trends by category or platform.

Instructions

Track bugs across runs in the project issue ledger (.swipium/issues-log.jsonl). mode: history (default, filterable), log (record an observation; re-observing a fixed issue reopens it), mark_fixed, verify_fixed (needs current-run evidence), suppress (expires; unsuppress:true lifts it), metrics (trends). Transitions take issueId or fingerprint.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "qa_issue_log"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNo
sinceNohistory/metrics: ISO start.
stateNohistory filter.
titleNolog (required): what was observed.
untilNometrics: ISO end; suppress: = suppressedUntil.
fixedByNomark_fixed
groupByNometrics bucketing (default week).
issueIdNoTransition key (from history).
summaryNolog: one-line summary.
categoryNohistory filter; log: category hint.
howFixedNomark_fixed (quoted on recurrence)
platformNohistory filter; log: platform observed on.
severityNohistory filter; log: severity hint.
reportUriNoverify_fixed evidence
sessionIdNo
testCaseIdNoverify_fixed evidence
unsuppressNosuppress: lift an existing suppression now.
failureCodeNolog: typed code, e.g. REDBOX, ANR.
fingerprintNoAlternative transition key.
projectRootNo
auditCheckIdNoverify_fixed evidence
evidenceUrisNolog/verify_fixed: swipium:// evidence URIs.
fixedInCommitNomark_fixed
fixedInVersionNomark_fixed
suppressedUntilNosuppress: ISO expiry.
suppressionScopeNosuppress
includeSuppressedNohistory/metrics: include suppressed issues.
suppressionReasonNosuppress

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only say not-readOnly, not-destructive, not-idempotent; the description adds real lifecycle semantics beyond that: re-observing a fixed issue reopens it, verify_fixed requires current-run evidence, and suppressions expire and can be lifted. It does not disclose write scope or concurrency/append behavior for the JSONL ledger, which would have made it 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 and extremely dense: the ledger resource comes first, then modes are enumerated in one passable burst with parenthetical qualifiers. It is telegraphic to the point of terseness ("suppress (expires; unsuppress:true lifts it)"), but virtually no sentence 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 28-parameter, six-mode lifecycle tool with no output schema, the definition covers mode behavior but omits what history/metrics return and what the transition modes return on success or conflict. An agent knows how to call it but not what to expect back, 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.

Parameters3/5

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

Schema coverage is 89%, so the schema already documents the 28 parameters and their per-mode applicability. The description adds only the transition-key rule (issueId or fingerprint) and the mode semantics, both of which largely restate what the schema descriptions convey.

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 concrete verb and resource ("Track bugs across runs in the project issue ledger") plus the backing file, and enumerates all six modes, so the agent knows exactly what surface this tool covers. It stops short of naming a sibling it is distinct from, which keeps it out of 5 territory.

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?

Each mode is annotated with its purpose and the default ("history (default, filterable)") is called out, so mode selection is largely inferred correctly. However, it never says when *not* to use this tool, e.g. how it relates to a general note-capture sibling, so there is no explicit alternative routing.

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