sonder-validation-and-qa

Defines evidence doctrine, pytest harness contract, and acceptance ratchets for Sonder Runtime verification.

6|3|Updated Jul 3, 2026
One-click install
npx skills add https://github.com/Krilliac/Sonder-runtime --skill sonder-validation-and-qa-krilliac
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sonder-validation-and-qa
Source: https://github.com/Krilliac/Sonder-runtime/tree/main/.claude/skills/sonder-validation-and-qa
Command: npx skills add https://github.com/Krilliac/Sonder-runtime --skill sonder-validation-and-qa-krilliac

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Contributors to Sonder Runtime need to know what counts as real proof of a change: which tests to run, how the hermetic pytest harness behaves, how to add tests the repo will accept, and which eval suites gate model promotion. This Skill encodes that verification doctrine so claims of "tested" or "verified" meet the repo's actual standards. ## Core Features & Use Cases - Evidence doctrine: Explains checkbox rules, the evidence ledger (requirements.jsonl with baseline/verified SHAs), and the house discipline of RED-before-fix, control cases, and mutation-proving every new guard. - Test harness contract: Documents the two conftest layers, offline sentinels, marker gating (--run-network, --run-model), the single live smoke test, and the known-red baseline at the verified commit. - Regression selection and ratchets: Covers select_regression_tests.py exit-code semantics and the three shrink-only ratchets (error signals, history privacy, architecture) that act as acceptance thresholds. - Execution-grounded evals: Inventories the verifier registry (VerifierUnavailable vs failed verdicts) and the promotion eval suites that gate model changes. - Use Case: A contributor fixes a bug and asks "did the tests really pass?" — the Skill directs them to reproduce the failure, show RED at the final item count, run the regression selector, and report exact commands with an explicit full-suite statement. ## Quick Start Ask the assistant what counts as verified evidence for your change and which tests you should run before opening a pull request.

Frequently Asked Questions about sonder-validation-and-qa

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the Sonder Runtime test suite?

Run `python -m pytest -q` for the full offline suite, or `python -m pytest -q -n 2 --dist load --durations=20` to match CI. Use `scripts/run-tests.cmd` with a file path or `-k` pattern for targeted runs, and pass `--run-network` or `--run-model` to opt into gated markers.

What counts as verified evidence for a change?

A verified claim requires reproducing the failure first, showing the new test failing (RED) at the final item count before the fix, then passing after. Requirement checkboxes additionally need an evidence-ledger record with exact baseline and verified 40-hex Git SHAs.

How do I select which regression tests to run for a change?

Run `python scripts/select_regression_tests.py --since main` to derive test selection from the diff's changed identifiers rather than hand-picking files. Exit code 2 means the selection was vacuous (an infrastructure failure), never that nothing needs testing.

Why was my pytest test skipped in Sonder Runtime?

Tests marked `network` or `model` are skipped unless you pass `--run-network` or `--run-model`. The single live smoke test also self-skips unless `SONDER_LIVE_MODEL_GATEWAY` is set to `ollama` or `openai`.

Can I modify an existing test to make my change pass?

No. The selfmod verifier rejects any candidate that modifies a pre-existing test file or shrinks the test-id inventory, and human review holds the same standard. If an old expectation was wrong, the PR must explicitly justify why.

What is the difference between VerifierUnavailable and a failed verdict?

`VerifierUnavailable` means the tool needed to judge an artifact (like mypy or MSVC) is missing, so no judgment was possible — it is neither a pass nor a fail. A `Verdict(False)` means the artifact was actually executed and failed.