In the agent (thin, swappable)
Intent and the next step. Connections to where the work happens: the coding tool, the repo and diff, the issue tracker, CI, the running app. Natural language turned into Qase actions over MCP.
MCP
AI made generating code and tests cheap. Verifying them is now the bottleneck. Qase gives every agent the same quality context and a governed way to verify work against it.
Max Koutun

AI coding agents write code and tests faster than anyone can review them. They don't know what "safe to ship" means for your product: what's covered, which requirements exist, what failed before, and what standards your team holds. Each agent works to its own defaults, in its own session, with no memory of the others.
Classic test management grew up around handoffs: work passed between roles, with plans, gates, and sign-offs to coordinate it. Agents collapse those handoffs. What's left is the part that always mattered: deciding what "good" means and verifying it.
An agent can generate a test case. It can't know whether the feature is already covered, whether the case duplicates five others, or which requirement it maps to. Qase is not another coding agent. It is the shared quality layer agents work through to access project context and verify their work under consistent controls.
AI made generating code and tests cheap. Verifying them is now the bottleneck. Qase gives every agent the same quality context and a governed way to verify work against it. MCP connects the agents, the harness (the rules QA owns) governs them, verification loops put your context to work, and the quality graph is where this is heading.

Running several AI tools without a shared verification layer creates three problems:
This build-up of unverified, AI-generated cases is verification debt: cases enter your suites faster than anyone can validate them.
When change volume outruns verification, a team has three options: slow the agents down, lower the bar, or scale verification. The first two give up the point of agents; Qase exists to make the third one cheap.
Qase connects through one integration, the official Qase MCP (Model Context Protocol) Server. Any MCP-compatible agent talks to your Qase project the same way. One setup covers the tools your developers already use and extends to new ones as they appear. It works today with clients such as Claude Code and Cursor, and the same server can also receive results from CI pipelines.
Most calls are writes: agents creating and updating cases, not just reading them.
The quality layer has two parts. The core is context: your suites, cases, runs, results, defects, requirements, and history. Around it sit the rules: permissions, quality gates, skills, and hooks that govern what's allowed. Agents act through the rules; their work is checked and reviewed before it reaches the product.
A concrete example: the same request, "draft cases for this feature", can come from Claude Code today and Cursor tomorrow. The agent's only job is to translate that intent into Qase actions. Everything that has to stay consistent (the rules, the data, the approvals) lives in Qase, so swapping one agent for another changes nothing about quality. That's the split:
In the agent (thin, swappable)
Intent and the next step. Connections to where the work happens: the coding tool, the repo and diff, the issue tracker, CI, the running app. Natural language turned into Qase actions over MCP.
In Qase (the platform)
Qase owns the domain logic, the configured rules, and the durable state: cases, runs, executions, and defects. It limits the damage an agent can do through caps, duplicate-write protection, and project scopes, and hides destructive tools until a workflow needs them. A GUI covers settings, investigations, and approvals.
The toolset agents use to talk to Qase. From a natural-language prompt, without leaving the editor, an agent can read suites, cases, runs, results, and defects. It can create and update cases inside your structure, record run results from CI or an engineer's machine, search with Qase Query Language (QQL), and file defects. All actions inherit the project's permissions and approvals. The toolset itself is built for agents: task-oriented tools (the first version had a tool per endpoint) and a single call that loads the whole project context.
Qase doesn't decide what a good test case is. Your team does. What Qase adds is a place where that decision lives in machine-readable form, so every agent is held to it. For most teams the hard part isn't the tooling; it's writing the bar down at all, because today it lives in review comments and heads. Required fields define what a complete case contains; guideline files describe how cases should read; a saved QQL query turns a rule into a runnable check ("cases with no requirement link"); the approval workflow names who accepts the result. Anything smarter than these rules (duplicate detection, judging assertion quality) is logic you compose from the same pieces today.

Agents work from your real test cases, not a generic template: the suites, fields, statuses, and requirement links your team already uses. New cases match how the project is organized, which keeps them readable and easy to review.
A test case is a natural-language spec: steps and expected results describe how the product should behave, independent of how it's implemented. Spec-driven development is arriving in coding agents; QA teams have practiced it for years. As AI makes structure cheap to produce, the industry's attention is shifting to behavior, and behavior is what a test suite describes. In an agentic workflow the suite becomes the living spec agents verify against and translate into executable checks where automation exists.
Skills package a workflow so an agent runs it the same way every time. Each one installs once and is invoked as a command on a branch. A plugin bundles skills with the Qase connection, so one install hands the team the whole job. Skills guide; hooks enforce. A hook is a deterministic checkpoint that fires at a fixed moment (before a risky write, before a merge) whether or not the agent thinks to run it. That makes approval gates dependable, not optional.
Coding agents are getting verification loops of their own: repo-local checks encoded as skills that run on every change. That's the right direction, and it stays local. Qase skills plug those same loops into the project's quality bar (requirements, cases, history) and record what they find where the whole team can see it.
One packaged example is Quality Supervisor, a plugin. Its impact-analysis skill serves the engineer and shows the approach working end to end: run /impact-analysis on a branch and it reads the ticket requirements, the existing test cases, and the diff, then reports back what the change affected and what to check before review.
The plugin's other workflows serve the QA lead: coverage gap analysis, failure triage, flakiness scoring, and release readiness. Every finding shows the QQL query behind it, so it can be verified rather than trusted. Qase stays the system of record; the plugin analyzes and drafts, and bulk writes wait for a person.
A common flow shows where each piece fits and where the responsibility stays with people.
QA then acts as the quality architect: deciding what stays manual, what gets automated, which corner cases don't deserve an end-to-end test at all, and how the suite is structured. Engineers verify faster, and QA gets reviewable drafts without the suite losing its shape.
Where a team already has automated tests or a framework in the repo, an agent can use them as a reference to generate a runnable spec, execute it, and report back. The engineer sees whether the feature works without walking the steps by hand. What returns to Qase is a draft case plus an execution result linked to the branch or PR: a candidate for QA to review, not an automatic addition to the suite. What's not shipped yet: a packaged skill for this flow, scheduled autorun, and self-healing that fixes a spec when the product changes.
Teams increasingly run agents in loops: instead of a human babysitting each turn, an agent repeats cycles of work (triage, migrations, dependency bumps, generating or fixing tests) until it hits a stop condition. The hard part is deciding what to check, when the work is done, and who owns the result. If nobody checks the loop's output, its mistakes ship too. Tell an agent to make the tests pass, and it may just weaken the tests until they do. So verification stays the job.
The more you can verify cheaply, the more autonomy you can safely hand off. Autonomy is a dial you set per task, not a single on/off switch. Raising it takes a standing contract: scope, a stop condition, evidence, an escalation path, a budget. That contract is the harness at work; it lives in your rules, not in someone's approval queue. The parts below are how Qase supplies it.
The loop provides speed; Qase provides the context, controls, and auditability to hand off more of it safely. The more of the loop you hand off (the trigger, the stop condition, the prompt itself), the more its decision criteria must live in rules QA owns.
A recurring QA triage agent. Some quality work doesn't need a person in the loop; it needs a loop. Today, teams can compose one as a scheduled prompt against the Qase MCP Server. It sweeps the project for signals QQL can surface: tests already flagged as flaky, repeated run failures, stale cases, cases with missing requirement links. Based on the configured workflow, it files or updates the relevant cases and defects; composite MCP tools do this in one action. Caps and deduplication keep it from flooding the team. No bot infrastructure required.
The quality system is a harness: the standards agents follow, the checks cases must pass, the policies and approvals that govern what ships. QA owns and evolves that harness. Engineers and agents operate inside it. The value of a harness is not what it adds on top of the model, but what it doesn't get in the way of.
Architect: QA
QA sets the bar and the checks that hold it. The value isn't hand-writing every case; it's owning the rules and structure that make good coverage the default.
Contributors: engineers and agents
Engineers and agents generate steps, draft cases, and run checks to verify their own work, inside the standards QA sets. They contribute first drafts.
Engineers and agents run the inner loop of building and checking; QA owns the outer loop of deciding what counts and carrying the consequences. Hooks tie the two loops together: the inner loop pulls context in at the start and writes evidence out at the end, so the outer loop has something real to judge. Planned confidence thresholds will move more routine decisions into that system.

None of this is new doctrine. Quality was never something you could inspect into a product at the end, and the shift from Quality Assurance to Quality Engineering has been underway for years. Agents raised the price of that discipline: the cheaper a plausible case is to generate, the more valuable the system that decides whether it counts.
Planned. Everything above is the near term. The bigger bet takes longer: Qase already has the building blocks, but today they're optimized for humans. The roadmap has four parts:
Qase already holds the core of the quality graph: the relationships between cases, executions, defects, requirements, history, and artifacts. That graph lets an agent reason about quality rather than just read a result. Because the record lives in Qase, teams can swap coding agents without losing it. And the record itself isn't captive: everything in it is reachable over the same API the agents use.
AI didn't replace the systems of record in observability; it learned to operate on top of them. Quality is heading the same way: a shared graph that connects the tools teams already use and carries evidence, decisions, and ownership across them.
Qase connects to the AI tools your developers already use; the setup guides show how. From the first prompt, agents work against your existing quality context.
You might also like