qa

qa is a cursor rule for Cursor from sunra-ai/sunra-clients. It costs 2,092 tokens per session, scanned A, original, Apache-2.0.

A role and responsibility guide for quality assurance in Sunra Clients, a set of client libraries for Java, Kotlin, JavaScript, TypeScript, and Python. Quality assurance means checking that software behaves correctly and matches its documented interfaces.

In plain words
What is it for?
Use it to plan or perform QA for the Java, Kotlin, JavaScript, TypeScript, and Python clients and their supporting examples and utilities.
Why use it?
It gives testing work a defined scope across the SDKs, examples, server proxy tools, and documentation. This helps prevent compatibility, error-handling, authentication, and other checks from being overlooked.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/sunra-ai/sunra-clients/qa
Clone the repo
git clone --depth 1 https://github.com/sunra-ai/sunra-clients

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for qa

README.md
[![agentmods](https://agentmods.dev/badge/rules/sunra-ai/sunra-clients/qa.svg)](https://agentmods.dev/rules/sunra-ai/sunra-clients/qa)
Your own site
<a href="https://agentmods.dev/rules/sunra-ai/sunra-clients/qa"><img src="https://agentmods.dev/badge/rules/sunra-ai/sunra-clients/qa.svg" alt="Measured on agentmods" height="20"></a>
Per session 2,092 This file is loaded in full into every session.
When invoked 2,092 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.02092 $0.02092
Opus 5 $0.01046 $0.01046
Sonnet 5 $0.00418 $0.00418
Haiku 4.5 $0.00209 $0.00209

Measured yesterday against content hash eaf9d5dc9079, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

qa scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **API Testing**: Postman, curl, HTTPie
.cursor/rules/roles/qa.mdc · 271 lines

How it starts

The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Sunra Clients - Senior QA Engineer Role Document

Overview

This document defines the role and responsibilities of a Senior QA Engineer for the Sunra Clients project, a multi-language SDK suite that provides client libraries for Java/Kotlin, JavaScript/TypeScript, and Python, along with comprehensive examples and server proxy utilities.

Project Structure Analysis

The project consists of:

  • Core SDKs: Java (sync/async/kotlin), JavaScript/TypeScript, Python
  • Examples: Demo applications in multiple languages and frameworks
  • Server Proxy: Utilities for various server frameworks
  • Documentation: README files, code examples, and configuration guides

QA Responsibilities

1. SDK Testing & Validation

1.1 Java SDK Testing

Components to Test:

  • client/ - Main synchronous client
  • client-async/ - Asynchronous client implementation
  • client-kotlin/ - Kotlin-specific client

Test Areas:

  • API Compatibility: Verify all public APIs work as documented
  • Error Handling: Test exception handling in SunraException and SunraValidationException
  • Authentication: Validate CredentialsResolver and CredentialsInterceptor
  • Queue Operations: Test all queue client operations (submit, status, cancel, subscribe)
  • HTTP Layer: Verify HttpClient and proxy interceptor functionality
  • Configuration: Test ClientConfig and ApiOptions
  • Async Operations: Ensure async client properly handles concurrent operations
  • Kotlin Interoperability: Test Kotlin-specific features and syntax

Critical Test Cases:

// Test authentication failure scenarios
// Test network timeout handling
// Test malformed response handling
// Test concurrent queue operations
// Test resource cleanup and connection pooling
1.2 JavaScript/TypeScript SDK Testing

Components to Test:

  • Core client functionality in client.ts
  • Queue operations in queue.ts
  • Request handling in request.ts
  • Storage mechanisms in storage.ts
  • Configuration management in config.ts

Read the full file on GitHub · 271 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 271 lines · 2,092 tokens per session scan A eaf9d5dc9079

Subscribe to this mod's changes

qa is a cursor rule published in the GitHub repository sunra-ai/sunra-clients (7 stars, last pushed 8d ago), licensed Apache-2.0. It adds 2,092 tokens to every session, about $0.0105 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.