testing-gate

Runs the karenina live pytest battery gating verification engine, adapter, and scenario changes.

13|3|Updated Jun 27, 2025
One-click install
npx skills add https://github.com/biocypher/karenina --skill testing-gate-biocypher
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing-gate
Source: https://github.com/biocypher/karenina/tree/main/skills/testing-gate
Command: npx skills add https://github.com/biocypher/karenina --skill testing-gate-biocypher

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Before merging changes to the karenina verification engine, adapters, sinks, or scenario manager, you need a fail-fast gate proving the core machinery still works against live endpoints, without running exhaustive biological benchmarks. ## Core Features & Use Cases - Async adapter battery (B1–B11): Tests invoke/ainvoke parity, streaming timeouts, structured output, concurrency caps, retry telemetry, and clean async teardown against a vLLM endpoint. - Progressive save/resume tests: Verifies QA and scenario runs finalize cleanly, delete sidecar files, and skip completed triples or combos on resume. - Docker-gated container test: Runs a pinned Claude Code CLI image for the claude_agent_sdk container backend, gated behind KARENINA_LIVE_DOCKER_TESTS=1. - Use Case: After modifying the retry executor, run the live battery to confirm dead-port retry telemetry still matches the documented baseline before merging. ## Quick Start Run the live test gate by changing into the karenina directory and executing pytest on tests/live with KARENINA_LIVE_TESTS=1 set.

Frequently Asked Questions about testing-gate

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

FAQPage Schema
How do I run the karenina live test battery?

Change into the karenina directory and run KARENINA_LIVE_TESTS=1 uv run pytest tests/live -m live -q. Without the environment variable set to 1, the entire live battery skips.

How do I run only the docker-backed claude-cli container test?

Set both KARENINA_LIVE_TESTS=1 and KARENINA_LIVE_DOCKER_TESTS=1, ensure the docker daemon is reachable and the pinned image karenina-live-claude-cli:2.1.146 exists, then run pytest on test_b10_claude_sdk_container_agent.

Does the live gate require a GPU or reachable vLLM endpoint?

Most live tests hit the vLLM endpoint directly and fail if it is down; there is no reachability preflight. Only the B9 dead-port tests target http://127.0.0.1:1 and run without any GPU.

Why do live tests fail with teardown errors like Event loop is closed?

B7 and B8 assert no async-teardown debris appears in captured warnings or logs. Such failures mean an event loop, portal pool, or container cleanup regressed in the adapter or verification engine code.

When should I use the offline unit tests instead of the live gate?

Run the unit-marked suite in tests/unit first; it covers roughly 5300 pure-logic tests in about two minutes with no I/O or LLM calls. Use the live gate only when a change genuinely needs generation or judging against a reachable endpoint.