Repository navigation
faultgate-zero 0.2.0: check plugins and formats.load - #3
Merged
Merged
Conversation
A plugin object has name, default and run(trace, options) -> Verdict. Discovered once at import; a name clash with a built-in check is a usage error; a plugin that raises gives a verdict that did not fire, a FaultgateZeroWarning and a 'check crashed' summary line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…extra OTLP through the own loader; OpenInference, Langfuse, LangSmith and Braintrust through faultgate's loaders (lazy import), converted with formats.to_zero. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… version 0.2.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…asons print one part per line Review finding: the crash warning escaped under an error filter. The warning is now guarded, with a regression test for -W error in-process and in a pytest subprocess. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ormatError in auto mode Review findings: faultgate writes chat messages as content, faultgate-zero reads parts, so converted traces lost their text (and abstention never fired). formats.to_zero now turns message text into parts. Auto-detection on malformed resourceSpans raised AttributeError; it now raises FormatError. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… read as faultgate reads them Converting OpenAI tool_calls too could count a call twice next to its tool span. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upstream change for Fault-Contract (spec section 7, M0). Fully backward compatible; adds features only.
What changes
faultgate_zero.checks. Each object hasname,defaultandrun(trace, options) -> Verdict;default=Trueplugins joinDEFAULT_CHECKS. Discovery happens once at import.check crashed: <ExceptionType>), aFaultgateZeroWarningand a "check crashed" summary line. It never fails the user's test, including under-W error.;print one part per line, as policy reasons do.faultgate_zero.formats.load(path, fmt="auto"): OTLP through faultgate-zero's own loader; OpenInference, Langfuse, LangSmith and Braintrust through faultgate's loaders, behind a newfaultgate-zero[formats]extra (lazy import). Converted traces keep their prompts and answers. Malformed input is aFormatError(aValueError).formatsextra.Evidence
-W defaultand-W error, every faultgate example format loads, prompts and answers survive conversion, malformed OTLP..aes/scout/scout-b3a3f672.md).Not released: PyPI 0.2.0 waits for a separate go-ahead.
🤖 Generated with Claude Code