Skip to content

Add spantruth to LLM & MCP Testing - #136

Merged
cleder merged 2 commits into
cleder:mainfrom
chrikrah:add-wiretruth
Oct 13, 2026
Merged

cleder merged 2 commits into
cleder:mainfrom
chrikrah:add-wiretruth

Conversation

@chrikrah

@chrikrah chrikrah commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Adds spantruth to LLM & MCP Testing, between Sabot and Tenro in alphabetical order. I maintain it. No issue exists for this entry. It was called wiretruth until 2026-10-12 and was renamed, since kartsan03/wiretruth is a different project under that name.

spantruth is a test suite for Python LLM telemetry libraries, not a pytest plugin. It checks what OpenLLMetry, OpenInference and the OpenTelemetry GenAI instrumentation report on their spans against what a local fake provider sent, with no API keys and no network after install. Results per library: https://plexito-de.github.io/spantruth/

$ uvx rumdl check README.md    # rumdl 0.2.79, .rumdl.toml from the repo root
Success: No issues found in 1 file (18ms)
$ uvx typos@1.40.0 README.md; echo "exit $?"    # the CI pin, typos.toml from the repo root
exit 0
$ uvx md-dead-link-check@1.2.0; echo "exit $?"
✅ Not found dead links 😸
exit 0
# not run: misspell-fixer

@cleder, I put it next to OrcaReplay and Sabot, which also run provider traffic offline against third-party libraries. Should it go in another section instead?

Summary by Sourcery

Add spantruth to the catalog of Python tools for testing LLM telemetry and MCP integrations.

New Features:

  • Add spantruth to the LLM and MCP testing resources list as an offline test suite for validating Python LLM telemetry spans against controlled provider responses.

Documentation:

  • Document spantruth’s coverage of provider responses, telemetry attributes, error handling, and span completion in the README.

@semanticdiff-com

Copy link
Copy Markdown

Review changes with  SemanticDiff

@sourcery-ai

sourcery-ai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Extends the README’s testing-tools catalog with wiretruth, a provider-independent offline test suite for validating Python LLM telemetry libraries against locally generated provider traffic and resulting span data.

File-Level Changes

Change Details Files
Adds wiretruth to the testing resources list in alphabetical order after Tenro.
  • Links to the wiretruth repository.
  • Describes its offline fake-provider coverage for OpenAI and Anthropic responses, streams, cache hits, rate limits, and dropped connections.
  • Highlights validation of telemetry span token counts, models, errors, and completion status.
  • Identifies Apache-2.0 licensing.
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@qodo-code-review

qodo-code-review Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

Grey Divider

Sorry, something went wrong

We weren't able to complete the code review on our side. Please try again manually by commenting /agentic_review on this PR.

Grey Divider

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add wiretruth to LLM & MCP Testing resources

📝 Documentation 🕐 Less than 5 minutes

Grey Divider

AI Description

• List wiretruth as a Python LLM telemetry test suite in the README.
• Describe its offline provider simulation and checks against reported telemetry spans.
High-Level Assessment

Keep wiretruth in LLM & MCP Testing: it tests LLM telemetry using offline provider responses, and the existing section already includes related offline testing tools. A separate category would add structure for just one entry.

Files changed (1) +1 / -0

Documentation (1) +1 / -0
README.mdList wiretruth under LLM & MCP Testing +1/-0

List wiretruth under LLM & MCP Testing

• Adds a link and description for wiretruth after Tenro. The entry explains its fake-provider scenarios and how it checks reported token counts, models, errors, and span completion.

README.md

@mergify

mergify Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@llamapreview llamapreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LlamaPReview — No blocking issues found

One well-formed list entry is added in correct alphabetical position in the LLM & MCP Testing section of README.md, matching the surrounding entry format; documentation-only, no behavior change, safe to merge.

1 non-blocking finding retained — highest: New entry's description is much longer than the section norm.

Review details and evidence
Priority File Finding Evidence
P2 README.md New entry's description is much longer than the section norm confirmed

Material unknowns

  • The external repository's actual contents and whether its license is truly Apache-2.0. An ordinary awesome-list curation detail; it does not change whether the entry is correctly added and is not a pre-merge action.
    • Check: None required for merge.

LlamaPReview checks

  • Reviewed changed regions in README.md.
  • Read the complete PR-head file README.md.

LlamaPReview is open source. Explore the code behind this review.

Comment thread README.md Outdated
- [OrcaReplay](https://github.com/Continuum-AI-Corp/OrcaReplay) - Records a Python agent's calls to its model provider from outside the process, then serves the recording back so the same run happens again with the provider unreachable and no key. Turns a failed session into a regression test. Apache-2.0.
- [Sabot](https://github.com/Jott2121/sabot) - Plants controlled faults inside running multi-agent pipelines (LangGraph, CrewAI, AutoGen) and scores whether each pipeline's own reviewer and guardrail stages detect them. Pre-registered spec, deterministic adjudication, published raw traces.
- [Tenro](https://github.com/tenro-ai/tenro-python) - An open-source, provider-agnostic testing framework for AI agents that integrates with pytest. It simulates LLM and tool calls to test edge cases, failure paths, and agent logic without live API calls.
- [wiretruth](https://github.com/Plexito-de/wiretruth) - Test suite for Python LLM telemetry libraries such as OpenLLMetry and OpenInference. A local fake provider serves OpenAI and Anthropic responses, including streams, prompt-cache hits, 429s and dropped connections, and wiretruth checks the token counts, models and errors on the resulting spans, and whether each span ends, against what was sent. Apache-2.0.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 | Confidence: High

Every neighboring entry in LLM & MCP Testing is a single compact sentence; the new entry bundles the tool's mechanism, its fixture catalog (streams, prompt-cache hits, 429s, dropped connections), its asserted span fields, and its license into one line. This is a curation/readability preference owned by the maintainer, not a defect, and it does not affect correctness, links, or rendering.

Owner action: Optional: answer the contributor's PR-body question about whether a different section fits better; shortening the description is a maintainer curation choice, not required for merge.

Evidence: changed region in README.md; PR-head read of README.md.

@chrikrah chrikrah changed the title Add wiretruth to LLM & MCP Testing Add spantruth to LLM & MCP Testing Oct 12, 2026
@cleder
cleder merged commit d8dcb8e into cleder:main Oct 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants