Skip to main content
Glama

sumo_qa_record_mutation

Validate and save mutation testing results to .sumo-qa/mutation.json for QA reporting. Records survivors, killed counts, and freshness without gating.

Instructions

Validate a host-collected mutation summary and persist it as the .sumo-qa/mutation.json artifact the QA report loads (issue #147 follow-up). FILE/FORMAT PLUMBING ONLY — the host skill runs the mutation tool and the LLM reads its output (any format); this tool runs nothing and infers nothing.

Common natural-language phrasings that map to this tool: "record the mutation result", "save the survivors into the QA report", "persist the mutation summary".

mutation is a dict with optional survivors (>= 0), killed (>= 0), freshness (fresh/stale/unknown/absent), detail (e.g. where survivors live), plus source_tool and generated_at provenance. Omit the counts for a not-measured signal. Validation fails BEFORE any write. Mutation evidence is REPORTED, never gated.

write_to defaults to the conventional .sumo-qa/mutation.json under the target repo; a relative path is confined to root.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootYes
mutationYes
write_toNo.sumo-qa/mutation.json

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.48.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds real behavior beyond the annotations: validation fails BEFORE any write, the tool runs nothing and infers nothing, mutation evidence is REPORTED and never gated (so it won't block a report), and a relative write_to is confined to root. The safety/scope claims are substantial context that annotations alone don't convey; no annotation contradiction (readOnly=false matches a persisting write).

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?

Purpose and the plumbing-only scope are front-loaded, and the mutation-dict and write_to semantics are organized in separate paragraphs. Slightly padded by the issue reference and three example phrasings, but each block carries information.

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 3-param nested-object writer with no output schema and no annotation detail on failure modes, the description covers validation ordering, what is persisted, provenance fields, and path resolution. It doesn't describe the returned error/shape on failure, but that is a minor omission given how much else is specified.

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

Parameters4/5

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

Schema coverage is 0%, so the description does the heavy lifting: it enumerates the mutation dict keys with constraints (survivors>=0, killed>=0, freshness enum of fresh/stale/unknown/absent, detail, source_tool, generated_at) and explains write_to's default and path confinement. root is only implied ('under the target repo'), which is the one gap.

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?

Specific verb+resource: validates a host-collected mutation summary and persists it to .sumo-qa/mutation.json. The 'FILE/FORMAT PLUMBING ONLY — runs nothing and infers nothing' clause sharply distinguishes it from any sibling that would execute mutation testing, so an agent can disambiguate from the record_coverage/report siblings.

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?

Provides concrete natural-language phrasings that map to the tool ('record the mutation result', 'save the survivors'), giving clear usage context. It clarifies that the host skill runs the mutation tool and the LLM reads output, but does not name a specific sibling alternative or an explicit when-not-to-use condition, keeping it just short of a 5.

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