Skip to main content
Glama

sumo_qa_generate_qa_report

Generates a local QA report from persisted .sumo-qa artifacts (repo map, diff impact, risk ledger, context bundle) and returns a readiness summary. Can write a self-contained HTML page to disk.

Instructions

Compose the persisted .sumo-qa artifacts (repo map, diff impact, risk ledger, context bundle) into the local QA report and return a compact readiness summary. The rendered HTML body never rides back to the host — pass write_to to persist the self-contained static page and open it from disk.

Common natural-language phrasings that map to this tool: "generate the QA report", "build the QA dashboard for this repo", "give me the local QA readiness report", "render qa-report.html".

root is the repository to report on (absolute or relative to the MCP server's working directory). Every artifact is OPTIONAL: a missing, invalid, or stale source renders an explicit honest state. The readiness verdict (ready / ready_with_accepted_residuals / blocked / insufficient_evidence) is derived by the QaScorecard readiness engine from the risk ledger + context bundle — missing data is never reported as passing evidence.

risk_ledger_rows / context_bundle are inline overrides for the chat flow where the ledger/bundle was built in-conversation and never persisted (the same shapes sumo_qa_format_risk_ledger / sumo_qa_format_context_bundle accept). They take precedence over any on-disk file and are validated BEFORE anything is written.

write_to is optional — when set, the page is written there (relative paths land under the target repo; the conventional value is .sumo-qa/qa-report.html). Without it the tool writes nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootYes
write_toNo
context_bundleNo
risk_ledger_rowsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.48.0

TDQS

A4.4/5.0
Behavior5/5

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

Despite annotations only declaring readOnly/destructive/idempotent flags, the description adds substantial behavioral detail: the HTML body never returns to the host, write_to controls persistence (relative paths land under the repo), absence of write_to writes nothing, and inline overrides are validated before any write. This goes well beyond what the annotations 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?

Content is front-loaded with the core action, then behavior, then parameters. The list of natural-language phrasings is useful but slightly padded, and the prose is a bit verbose overall, though nothing is truly 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 sensibly reports the return (a compact readiness summary) and enumerates the possible verdicts (ready / ready_with_accepted_residuals / blocked / insufficient_evidence). It is nearly complete, though it does not describe the summary's structure beyond the verdict.

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: root is the repo to report on, write_to is optional with documented relative-path behavior, and risk_ledger_rows/context_bundle are inline overrides that take precedence over on-disk files and are validated first. It also clarifies that the two override params share the shape of the corresponding format_* tools.

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: compose persisted .sumo-qa artifacts into a local QA report and return a readiness summary. It clearly names the consumed artifacts (repo map, diff impact, risk ledger, context bundle), which distinguishes it from the formatting siblings. It does not explicitly contrast itself with sumo_qa_format_qa_scorecard, so sibling differentiation is only partial.

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 provides concrete natural-language phrasings that map to the tool and explains the chat-flow case where inline overrides are needed instead of on-disk files. However, it never states when NOT to use it or names an alternative tool for producing an HTML report without persisting, leaving some selection ambiguity.

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