fix(analyze): handle cached dicts in dataframe conversion#2378
Draft
ryan-arman wants to merge 1 commit intomainfrom
Draft
fix(analyze): handle cached dicts in dataframe conversion#2378ryan-arman wants to merge 1 commit intomainfrom
ryan-arman wants to merge 1 commit intomainfrom
Conversation
Dataset-level cached results are raw dicts (from the pipeline's JSON cache), not BaseModel instances. `isinstance(result, BaseModel)` silently skipped them, dropping dataset-level metrics from the DataFrame entirely. Now both `to_analysis_dataframe` and `results_to_dict` accept `dict` in addition to `BaseModel`, with the signatures broadened to reflect that. Co-Authored-By: Claude Opus 4.7 <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.
Description
Dataset-level cached results are raw dicts (loaded from the pipeline's JSON cache), not Pydantic instances.
to_analysis_dataframegated the dataset-level branch onisinstance(result, BaseModel), so cached dataset metrics silently disappeared from the returned DataFrame.results_to_dicthad the same blind spot on the list branch.Both entry points now accept
dictalongsideBaseModel, and the type signatures are broadened to reflect that. Includes regression tests for dataset-level dicts, per-conversation list-of-dicts, and theresults_to_dictpassthrough.Part of a 4-PR split of #2370. Standalone — does not depend on the other PRs.
Related issues
Towards OPE-1868
Before submitting