Observed since 20 Oct, 21:44 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Framework-agnostic coverage testing and observability tool for LLM Agents.
Agent Cover is an observability and testing framework designed for LLMOps. Unlike traditional tools that measure executed lines of code, Agent Cover measures the Logical Coverage of your Agent.
It verifies that your test suite actually exercises the agent's capabilities: its Prompts, its Tools, and its Business Decision branches.
Traditional tools (like coverage.py) measure Python execution. However, in LLM-based applications, "line coverage" creates a false sense of security.
The Scenario: Your agent has a tool
refund_userand a prompt instruction to "Ask for confirmation".The Problem: Your test runs the code, but the LLM decides to skip the tool or ignore the prompt. Standard coverage says 100%. Agent Cover says 0% Tool Coverage.
Agent Cover operates on a hybrid "Static + Runtime" model:
🔍 Inventory Scan (Static): Before tests run, it scans your codebase to build a map of "Logical Assets":
@tool or inheriting from BaseTool.⚡ Instrumentation (Runtime): It hooks into the execution lifecycle (LangChain, LlamaIndex, OpenAI, PromptFlow) to verify if those assets were actually used by the LLM.
pip install agent-cover
For development and testing support:
pip install "agent-cover[dev]"
Create an agent-cover.yaml to define your Business Logic requirements.
# agent-cover.yaml
decisions:
- id: intent_classification
description: "Ensure the agent triggers all support paths"
target_field: intent
expected_values: ["REFUND", "TECH_SUPPORT", "SALES"]
Simply add the --agent-cov flag to your existing test run.
pytest --agent-cov --agent-cov-html=coverage_report
Open coverage_report/index.html. You will see:
REFUND vs SALES) were observed in the output.Agent Cover dynamically patches these libraries to intercept logical events.
| Framework | Status | Features Tracked |
|---|---|---|
| LangChain | ✅ | Chains, Agents, Tools, Callbacks, Pydantic Parsers |
| LlamaIndex | ✅ | AgentRunner, FunctionTools, Prompts |
| OpenAI SDK | ✅ | ChatCompletions, Function Calling (Raw Strings) |
| PromptFlow | ✅ | Flow Nodes, Jinja Templates, Python Tools |
| Pydantic | ✅ | Auto-generation of decision rules from Models |
PromptFlow executes nodes in separate worker processes, which breaks standard coverage tools. Agent Cover includes a dedicated CLI wrapper to handle multi-process aggregation.
Instead of running pf run, wrap your command:
# Injects instrumentation into all child worker processes
agent-cover run --source-dir ./src -- pf run create --flow ./my_flow --data data.jsonl
This will automatically aggregate coverage data from all parallel workers into a single report.
Contributions are welcome! Please ensure all pull requests pass the CI quality gates.
pip install -e ".[dev]"pre-commit installpytestThis project is licensed under the MIT License.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.1 | 19 Jan 2026 | 7 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 21:44 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f6ad0fd2070d97d6ac2e26f451aea70b539325064c20541f7550ec931e4a5636