Skip to content

feat(vest): add getData resolver to suite result#1250

Open
ealush wants to merge 1 commit intopr/vest-schema-filteringfrom
pr/get-data
Open

feat(vest): add getData resolver to suite result#1250
ealush wants to merge 1 commit intopr/vest-schema-filteringfrom
pr/get-data

Conversation

@ealush
Copy link
Copy Markdown
Owner

@ealush ealush commented Mar 3, 2026

Summary

  • Add getData() method to suite results: returns validated schema parse output when no errors exist, otherwise falls back to raw input data
  • Expose getData directly on the suite instance for convenience
  • Add type definitions for getData on SuiteResult and SuiteTypes
  • Update all snapshots to reflect the new getData function on results

Stack

  • PR 1/3: n4s pick/omit schema modifiers
  • PR 2/3: vest schema filtering via focus/only
  • PR 3/3 (this PR)

Depends on #1249

Test plan

  • Unit tests for getData (returns parsed output on valid, raw input on errors, undefined without schema)
  • Updated snapshots for all integration/unit test suites
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vest Ready Ready Preview, Comment Mar 4, 2026 1:02am
vest-next Ready Ready Preview, Comment Mar 4, 2026 1:02am
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 3, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pr/get-data

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add getData resolver to suite result for accessing validated data

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add getData() method to suite results for accessing validated data • Returns parsed schema output on success, falls back to raw input on errors • Expose getData directly on suite instance for convenience access • Comprehensive unit tests and documentation for new functionality 
Diagram
flowchart LR A["Suite Result"] -->|getData call| B["Has Errors?"] B -->|Yes or No Schema| C["Return Raw Input"] B -->|No Errors & Schema| D["Return Parsed Output"] E["Suite Instance"] -->|getData method| A 
Loading

Grey Divider

File Changes

1. packages/vest/src/suite/SuiteTypes.ts ✨ Enhancement +1/-0

Add getData type definition to SuiteMethods

packages/vest/src/suite/SuiteTypes.ts


2. packages/vest/src/suite/useCreateSuiteMethods.ts ✨ Enhancement +1/-0

Implement getData method on suite instance

packages/vest/src/suite/useCreateSuiteMethods.ts


3. packages/vest/src/suite/useCreateSuiteRunner.ts 🐞 Bug fix +1/-1

Fix parameter naming in schema input handling

packages/vest/src/suite/useCreateSuiteRunner.ts


View more (7)
4. packages/vest/src/suiteResult/SuiteResultTypes.ts ✨ Enhancement +1/-0

Add getData return type signature to SuiteResult

packages/vest/src/suiteResult/SuiteResultTypes.ts


5. packages/vest/src/suiteResult/__tests__/getData.test.ts 🧪 Tests +129/-0

Add comprehensive unit tests for getData functionality

packages/vest/src/suiteResult/tests/getData.test.ts


6. packages/vest/src/suiteResult/suiteResult.ts ✨ Enhancement +3/-1

Implement getData logic with conditional fallback

packages/vest/src/suiteResult/suiteResult.ts


7. website/docs/api_reference.md 📝 Documentation +1/-0

Document getData method in API reference

website/docs/api_reference.md


8. website/docs/writing_your_suite/accessing_the_result.md 📝 Documentation +24/-0

Add detailed getData usage guide with examples

website/docs/writing_your_suite/accessing_the_result.md


9. website/static/llms-full.txt 📝 Documentation +461/-1

Add data parsers documentation and schema parsing guide

website/static/llms-full.txt


10. website/static/llms.txt 📝 Documentation +1/-0

Add data parsers reference to navigation index

website/static/llms.txt


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Mar 3, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. getData ignores suite validity 🐞 Bug ✓ Correctness
Description
SuiteResult.getData() returns parsed output when hasErrors() is false, but a suite can be invalid (isValid() false / valid=false) without errors (e.g., pending/missing tests or an empty test array). This contradicts the new documentation and can surface coerced/parsed data before validation is actually complete or successful. 
Code

packages/vest/src/suiteResult/suiteResult.ts[R45-46]

+ getData: () => + !resultBody.hasErrors() && schema ? outputData : inputData,
Evidence
The PR implements getData using !hasErrors() && schema, but hasErrors only checks the error count and does not incorporate pending/missing-test validity. Vest’s validity computation explicitly considers pending/missing tests (and even marks empty suites invalid), so !hasErrors() can be true while isValid() is false. Because schema parsing can produce coerced callbackInput/outputData even when the suite has no tests, getData() can return parsed output in invalid states, diverging from the docs promise that parsed output is returned only when the suite is fully valid. 

packages/vest/src/suiteResult/suiteResult.ts[34-49]
website/docs/writing_your_suite/accessing_the_result.md[239-244]
packages/vest/src/suiteResult/selectors/suiteSelectors.ts[168-174]
packages/vest/src/suiteResult/selectors/suiteSelectors.ts[428-440]
packages/vest/src/suiteResult/selectors/useSetValidProperty.ts[117-138]
packages/vest/src/suiteResult/selectors/useProduceSuiteSummary.ts[46-54]
packages/vest/src/suite/useCreateSuiteRunner.ts[60-88]
packages/vest/src/suite/useCreateSuiteRunner.ts[118-128]
packages/vest/src/suite/useCreateSuiteRunner.ts[224-236]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution ### Issue description `SuiteResult.getData()` currently returns parsed/coerced schema output whenever `hasErrors()` is false, but `hasErrors()` only reflects error count and does not mean the suite is valid/completed. This can return parsed output while `isValid()` is false (e.g., empty suite / pending / missing tests), contradicting the docs and potentially causing consumers to rely on coerced data before validation success. ### Issue Context - Docs state parsed output should be returned only when the suite is fully valid (`res.isValid()` is true). - Vest validity accounts for pending/missing tests and empty test arrays, which are not reflected by `hasErrors()`. ### Fix Focus Areas - packages/vest/src/suiteResult/suiteResult.ts[43-49] - packages/vest/src/suiteResult/__tests__/getData.test.ts[1-129] 

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the Vest validation library by adding a getData() method to suite results and instances. This method intelligently provides access to either the successfully parsed and validated data (when a schema is present and validation passes) or the original raw input data (if validation fails or no schema is used). This feature streamlines data handling post-validation, offering a clear and type-safe way to retrieve processed data.

Highlights

  • New getData() method: Introduced a getData() method to the suite result, which returns the validated schema parse output when no errors exist, otherwise it falls back to the raw input data.
  • Suite Instance Convenience: The getData method is also exposed directly on the suite instance for easier access.
  • Type Definitions: Added comprehensive type definitions for getData on SuiteResult and SuiteTypes to ensure type safety.
  • Snapshot Updates: All relevant test snapshots have been updated to reflect the inclusion of the new getData function in suite results.
  • Documentation: Updated API reference and 'accessing the result' documentation to include details and examples for the new getData method and data parsers.
Changelog
  • packages/vest/src/tests/snapshots/integration.base.test.ts.snap
    • Added 'getData' function to the suite result snapshot.
  • packages/vest/src/tests/snapshots/integration.stateful-async.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/tests/snapshots/integration.stateful-tests.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/core/tests/snapshots/runtime.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/core/test/tests/snapshots/test.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/exports/tests/snapshots/memo.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/hooks/tests/snapshots/include.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/hooks/focused/tests/snapshots/focused.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/isolates/tests/snapshots/group.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/isolates/tests/snapshots/omitWhen.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/suite/SuiteTypes.ts
    • Updated 'SuiteMethods' type to include the 'getData' property.
  • packages/vest/src/suite/tests/snapshots/create.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/suite/tests/snapshots/focus.test.ts.snap
    • Added 'getData' function to the suite result snapshot.
  • packages/vest/src/suite/tests/snapshots/suite.dump.test.ts.snap
    • Added 'getData' function to the suite result snapshot.
  • packages/vest/src/suite/useCreateSuiteMethods.ts
    • Added a 'getData' method to the suite's exposed methods, calling 'get().getData()'.
  • packages/vest/src/suite/useCreateSuiteRunner.ts
    • Updated the 'useCreateSuiteResult' call to pass 'schemaInput' instead of 'runData'.
  • packages/vest/src/suiteResult/SuiteResultTypes.ts
    • Added the 'getData' type definition to the 'SuiteResult' interface.
  • packages/vest/src/suiteResult/tests/snapshots/useProduceSuiteSummary.test.ts.snap
    • Added 'getData' function to the suite result snapshots.
  • packages/vest/src/suiteResult/tests/getData.test.ts
    • Added a new test file with unit tests for the 'suiteResult.getData()' method.
  • packages/vest/src/suiteResult/suiteResult.ts
    • Implemented the 'getData' logic within 'useCreateSuiteResult' to return parsed or raw data.
    • Updated the 'constructSuiteResultObject' type to omit 'getData' as it's added separately.
  • website/docs/api_reference.md
    • Documented the new 'getData()' method in the API reference with its functionality.
  • website/docs/writing_your_suite/accessing_the_result.md
    • Added a new section explaining the 'getData' method, its behavior with and without schema validation, and provided code examples.
  • website/static/llms-full.txt
    • Updated a relative link for 'compose' documentation.
    • Added a comprehensive new section detailing 'Data Parsers' with various string, number, array, and general parser examples.
    • Added a 'Schema Parsing' section to explain how parsers work with schemas.
  • website/static/llms.txt
    • Added a link to the new 'Data Parsers' documentation.
Activity
  • A new feature, getData(), has been introduced to the Vest suite results and suite instance.
  • New unit tests have been added in packages/vest/src/suiteResult/__tests__/getData.test.ts to cover various scenarios for the getData method, including schema validation and error handling.
  • Numerous snapshot files across integration, runtime, test, memo, include, focused, group, and omitWhen tests have been updated to include the new getData function in the expected suite result output.
  • Type definitions in SuiteTypes.ts and SuiteResultTypes.ts were updated to correctly reflect the presence and return type of the getData method.
  • The implementation of getData was added to suiteResult.ts and useCreateSuiteMethods.ts to provide its core logic and expose it through the suite.
  • Documentation for the API reference and 'accessing the result' guide has been updated to explain the new getData functionality and introduce 'Data Parsers'.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a getData() method to the suite result, which is a great feature for conveniently accessing the validated and parsed data. The implementation is solid, and the new tests and documentation are comprehensive. I've found one potential issue where the condition for returning the parsed data is a bit too lenient compared to the documentation, which could lead to unexpected behavior with asynchronous validations. My suggestion aims to make this behavior safer and more consistent with the documentation.

Comment on lines +45 to +46
getData: () =>
!resultBody.hasErrors() && schema ? outputData : inputData,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

There's a potential issue here with the condition for returning parsed data. The implementation uses !resultBody.hasErrors(), but the documentation added in this PR (in website/docs/writing_your_suite/accessing_the_result.md) states that parsed data should be returned only when the suite is 'fully valid' (i.e., isValid() is true).

The isValid() check is stricter than !hasErrors(), as it also accounts for pending tests and whether all required tests have been run. Returning parsed data while some async tests are still pending could lead to using partially validated or stale data.

To align with the documentation and ensure safer behavior, it would be better to use resultBody.isValid().

 getData: () => (resultBody.isValid() && schema ? outputData : inputData),
Comment on lines +45 to +46
getData: () =>
!resultBody.hasErrors() && schema ? outputData : inputData,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Getdata ignores suite validity 🐞 Bug ✓ Correctness

SuiteResult.getData() returns parsed output when hasErrors() is false, but a suite can be invalid (isValid() false / valid=false) without errors (e.g., pending/missing tests or an empty test array). This contradicts the new documentation and can surface coerced/parsed data before validation is actually complete or successful. 
Agent Prompt
### Issue description `SuiteResult.getData()` currently returns parsed/coerced schema output whenever `hasErrors()` is false, but `hasErrors()` only reflects error count and does not mean the suite is valid/completed. This can return parsed output while `isValid()` is false (e.g., empty suite / pending / missing tests), contradicting the docs and potentially causing consumers to rely on coerced data before validation success. ### Issue Context - Docs state parsed output should be returned only when the suite is fully valid (`res.isValid()` is true). - Vest validity accounts for pending/missing tests and empty test arrays, which are not reflected by `hasErrors()`. ### Fix Focus Areas - packages/vest/src/suiteResult/suiteResult.ts[43-49] - packages/vest/src/suiteResult/__tests__/getData.test.ts[1-129] 

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 3, 2026

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 204.01 10.8484 8.68% -24.97 -10.90% ⚠️
State Management Serialize Large 185.08 9.8366 3.46% 0 0.00%
Integration & Edge Cases Callback Overhead 4.205 242.39 1.06% 0 0.00%
Complex Feature Mix full run with feature flags 136.62 14.0009 8.76% 0 0.00%
Complex Feature Mix focused/conditional run 229.49 8.2785 3.07% 0 0.00%
Conditional isolates skip even indices 355.79 10.3163 19.55% -134.06 -27.37% ⚠️
Conditional isolates omit multiples of 4 486.09 4.2073 9.22% 0 0.00%
Dynamic each and groups longer list 204.01 12.8414 22.08% 0 0.00%
Reconciler & History Diffing Reconciler (Stable List) 3.839 290.24 3.62% -0.252 -6.17% ⚠️
Reconciler & History Diffing Reconciler (Full Invalidation) 4.053 253.15 1.22% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 4.079 258.33 1.65% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 4.134 245.75 0.58% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 4.072 249.1 0.84% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 4.16 242.66 0.33% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 4.072 253.85 1.16% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 7.956 128.58 0.83% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 849.03 1.582 0.79% 0 0.00%
Result Selectors & Reporting getErrors (Group Lookup) 464.66 2.809 0.72% 0 0.00%
Result Selectors & Reporting Summary Generation (Large) 3.571 284.74 0.68% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 4.016 255.35 1.16% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 4.028 255.46 0.98% 0 0.00%
Async & Concurrency Stress Reject Storm 3.965 256.7 0.94% 0 0.00%
Async & Concurrency Stress Async Race 167.2 7.9306 3.21% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 159.95 8.2152 2.49% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 621.58 2.9701 2.06% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 4.868 219.46 2.22% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 8.527 121.32 1.05% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 7.151 153.02 2.61% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 7.234 142.34 1.17% 0 0.00%
VestBus & Internals Bus Scaling 195.36 7.0647 2.21% 0 0.00%
VestBus & Internals State Refill 122.61 12.7875 3.46% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 8.598 120.64 1.00% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 8.661 116.37 0.33% 0 0.00%
Serialization Serialize (Large) 91.703 12.5179 2.00% 0 0.00%
Serialization Deserialize (Large) 65.398 17.3826 2.13% 0 0.00%
Edge Cases & Integration Broad Group 4.163 244.97 0.73% 0 0.00%
Edge Cases & Integration Namespace Collision 4.264 238.28 0.52% 0 0.00%
Edge Cases & Integration Large Field Names 201.35 5.8913 1.62% 0 0.00%
Edge Cases & Integration Large Failure Messages 343.71 5.4032 3.26% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 391.3 7.3941 6.92% 0 0.00%
Feature Coverage Matrix enforce matrix (larger payload) 648.98 6.1463 8.61% 0 0.00%
Feature Coverage Matrix flow control eager mode 303.57 8.2381 8.59% 0 0.00%
Feature Coverage Matrix flow control one mode 271.52 6.6513 7.11% 0 0.00%
Reordering & Reconciliation each (Reorder - Reverse) 100.72 27.4706 9.30% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 99.106 14.7252 4.55% 0 0.00%
Reordering & Reconciliation each (Reorder - Delete Middle) 107.57 12.2262 3.66% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 258.74 7.5884 5.60% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 166.88 8.6667 1.73% 0 0.00%
State Mutation & Reset suite.reset() (Memory Reclamation) 8.598 119.46 1.31% 0 0.00%
Concurrency & Events Bus Stress 4.236 242.37 1.08% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 11.711 96.957 11.12% 0 0.00%
Nested Fields with Hooks depth 4 with 60 fields per level 6.282 187.88 39.46% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 6.076 164.61 0.16% 0 0.00%
Field Volume Stress 10 fields 333.8 10.1393 7.64% 0 0.00%
Field Volume Stress 500 fields 4.733 218.63 1.30% 0 0.00%
Field Volume Stress 1000 fields 2.071 503 1.53% 0 0.00%
Deep Nesting Stress depth 10 72.338 31.2324 6.73% 0 0.00%
Deep Nesting Stress depth 50 29.112 39.5163 1.93% 0 0.00%
Deep Nesting Stress depth 100 18.184 59.41 1.52% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 184.03 9.2864 3.23% 0 0.00%
Core Test Functionality test (High Volume, Same Name) 4.408 231.35 0.75% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 4.315 241.28 1.62% 0 0.00%
Raw Output
See CI logs for full output 
PREVIOUS_RESULTS

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 219.46 10.135 8.06% 0 0.00%
State Management Serialize Large 187.12 6.9497 1.43% 0 0.00%
Integration & Edge Cases Callback Overhead 4.334 233.84 0.57% 0 0.00%
Complex Feature Mix full run with feature flags 139.77 19.9508 5.89% 0 0.00%
Complex Feature Mix focused/conditional run 230.23 8.5589 3.19% 0 0.00%
Conditional isolates skip even indices 544.67 3.6 7.33% +182.1 +50.22% 🎉
Conditional isolates omit multiples of 4 447.11 5.6717 11.17% 0 0.00%
Dynamic each and groups longer list 270.25 5.7145 9.72% +71.54 +36.00% 🎉
Reconciler & History Diffing Reconciler (Stable List) 4.1 272.24 3.50% 0 0.00%
Reconciler & History Diffing Reconciler (Full Invalidation) 4.226 241.22 0.88% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 4.211 240.42 0.47% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 4.247 240.08 0.56% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 4.171 246.94 0.80% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 4.245 238.08 0.31% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 4.218 245.37 1.04% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 8.08 130.54 1.72% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 868.55 1.3497 1.03% 0 0.00%
Result Selectors & Reporting getErrors (Group Lookup) 479.44 2.4325 0.48% +72.43 +17.80% 🎉
Result Selectors & Reporting Summary Generation (Large) 3.64 278.16 0.56% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 4.145 247.38 1.32% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 4.14 244.33 0.58% 0 0.00%
Async & Concurrency Stress Reject Storm 4.078 246.23 0.30% 0 0.00%
Async & Concurrency Stress Async Race 167.6 7.6027 2.68% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 160.55 10.9942 2.87% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 635.33 2.7967 1.55% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 5.172 195.25 0.40% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 8.896 113.62 0.46% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 7.452 136.75 1.07% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 7.496 134.9 0.57% 0 0.00%
VestBus & Internals Bus Scaling 197.93 7.9314 2.22% +11.12 +5.95% 🎉
VestBus & Internals State Refill 121.97 13.1207 3.76% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 8.621 120.62 1.69% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 8.771 114.95 0.48% 0 0.00%
Serialization Serialize (Large) 91.3 14.1239 3.22% 0 0.00%
Serialization Deserialize (Large) 67.483 17.6563 2.67% 0 0.00%
Edge Cases & Integration Broad Group 4.282 241.25 0.93% 0 0.00%
Edge Cases & Integration Namespace Collision 4.336 233.97 0.51% 0 0.00%
Edge Cases & Integration Large Field Names 200.55 6.2391 1.73% 0 0.00%
Edge Cases & Integration Large Failure Messages 342.87 5.4407 3.18% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 392.15 6.1099 7.05% 0 0.00%
Feature Coverage Matrix enforce matrix (larger payload) 693.07 6.0441 7.92% 0 0.00%
Feature Coverage Matrix flow control eager mode 314.13 7.8512 8.22% 0 0.00%
Feature Coverage Matrix flow control one mode 288.23 8.2591 7.73% 0 0.00%
Reordering & Reconciliation each (Reorder - Reverse) 107.64 15.9731 5.77% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 98.762 19.0388 5.55% 0 0.00%
Reordering & Reconciliation each (Reorder - Delete Middle) 107.35 14.9219 4.24% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 257.59 7.454 5.31% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 169.48 8.3518 1.55% 0 0.00%
State Mutation & Reset suite.reset() (Memory Reclamation) 8.624 117.69 0.61% 0 0.00%
Concurrency & Events Bus Stress 4.26 239.09 0.81% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 12.392 85.0071 4.44% +0.669 +5.71% 🎉
Nested Fields with Hooks depth 4 with 60 fields per level 6.18 190.66 39.10% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 6.121 163.98 4.66% 0 0.00%
Field Volume Stress 10 fields 347.47 9.4665 6.53% 0 0.00%
Field Volume Stress 500 fields 4.872 211.76 0.85% 0 0.00%
Field Volume Stress 1000 fields 2.145 469.11 0.42% 0 0.00%
Deep Nesting Stress depth 10 75.301 40.6087 7.72% 0 0.00%
Deep Nesting Stress depth 50 29.639 43.6035 2.75% 0 0.00%
Deep Nesting Stress depth 100 19.101 56.7909 1.07% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 182.34 9.1038 3.57% 0 0.00%
Core Test Functionality test (High Volume, Same Name) 4.288 236.54 0.61% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 4.267 237.2 0.41% +0.214 +5.28% 🎉
Raw Output
See CI logs for full output 

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 258.26 12.7177 7.99% +32.37 +14.33% 🎉
State Management Serialize Large 187.82 7.1033 1.71% +12.22 +6.96% 🎉
Integration & Edge Cases Callback Overhead 3.176 319.39 0.49% 0 0.00%
Complex Feature Mix full run with feature flags 145.28 15.3201 7.71% 0 0.00%
Complex Feature Mix focused/conditional run 225.63 8.262 2.90% 0 0.00%
Conditional isolates skip even indices 545.87 3.6731 6.89% 0 0.00%
Conditional isolates omit multiples of 4 414.45 15.9122 24.34% 0 0.00%
Dynamic each and groups longer list 235.87 12.316 20.97% 0 0.00%
Reconciler & History Diffing Reconciler (Stable List) 2.979 356.79 2.44% 0 0.00%
Reconciler & History Diffing Reconciler (Full Invalidation) 3.077 332.93 0.80% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 3.05 379.48 4.15% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 3.101 327.79 0.62% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 3.101 342.68 1.67% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 3.088 328.2 0.62% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 3.12 322.96 0.52% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 6.224 165.21 0.93% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 676.25 1.8983 0.72% 0 0.00%
Result Selectors & Reporting getErrors (Group Lookup) 404.26 2.8551 0.64% +58.55 +16.94% 🎉
Result Selectors & Reporting Summary Generation (Large) 2.533 397.84 0.25% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 3.161 320.74 0.57% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 3.169 319.23 0.44% 0 0.00%
Async & Concurrency Stress Reject Storm 3.125 324.9 0.52% 0 0.00%
Async & Concurrency Stress Async Race 162.95 8.0758 3.04% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 154.73 7.9322 2.23% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 645.93 2.7439 1.67% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 3.63 281.53 1.02% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 6.671 154.95 0.93% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 5.88 175.47 1.24% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 5.964 169.54 0.40% 0 0.00%
VestBus & Internals Bus Scaling 187.4 6.7149 1.89% 0 0.00%
VestBus & Internals State Refill 119.17 10.8436 2.80% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 6.615 153.63 0.64% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 6.627 152.87 0.65% 0 0.00%
Serialization Serialize (Large) 104.81 12.4047 1.84% +14.942 +16.63% 🎉
Serialization Deserialize (Large) 64.589 17.0405 2.21% 0 0.00%
Edge Cases & Integration Broad Group 3.13 325.18 0.67% 0 0.00%
Edge Cases & Integration Namespace Collision 3.162 325 0.99% 0 0.00%
Edge Cases & Integration Large Field Names 187.82 7.0368 2.18% 0 0.00%
Edge Cases & Integration Large Failure Messages 346.45 4.7683 2.76% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 440.28 5.1732 6.83% 0 0.00%
Feature Coverage Matrix enforce matrix (larger payload) 714.51 7.6474 9.52% 0 0.00%
Feature Coverage Matrix flow control eager mode 365.59 7.9971 8.61% 0 0.00%
Feature Coverage Matrix flow control one mode 288.29 7.313 6.59% 0 0.00%
Reordering & Reconciliation each (Reorder - Reverse) 113.17 13.1988 4.97% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 104.83 13.695 3.74% 0 0.00%
Reordering & Reconciliation each (Reorder - Delete Middle) 111.5 11.4258 3.34% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 269.72 6.4999 4.14% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 167.71 7.6784 1.45% 0 0.00%
State Mutation & Reset suite.reset() (Memory Reclamation) 6.99 148.38 1.05% 0 0.00%
Concurrency & Events Bus Stress 3.325 306.42 0.65% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 11.075 95.374 6.31% 0 0.00%
Nested Fields with Hooks depth 4 with 60 fields per level 5.223 210.85 22.55% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 4.599 218.39 5.62% 0 0.00%
Field Volume Stress 10 fields 368.45 9.1791 5.07% 0 0.00%
Field Volume Stress 500 fields 3.846 264.17 0.80% +0.227 +6.26% 🎉
Field Volume Stress 1000 fields 1.576 704.32 2.83% 0 0.00%
Deep Nesting Stress depth 10 76.451 41.7626 7.23% 0 0.00%
Deep Nesting Stress depth 50 27.751 42.7445 2.00% 0 0.00%
Deep Nesting Stress depth 100 16.655 62.6814 0.85% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 158.47 48.0438 17.57% 0 0.00%
Core Test Functionality test (High Volume, Same Name) 3.223 336.67 2.17% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 3.216 313.55 0.47% 0 0.00%
Raw Output
See CI logs for full output 

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 198.95 10.3225 7.61% -22 -9.96% ⚠️
State Management Serialize Large 177.39 7.2404 2.13% +36.88 +26.25% 🎉
Integration & Edge Cases Callback Overhead 4.207 242.18 0.60% 0 0.00%
Complex Feature Mix full run with feature flags 132.02 15.2124 7.09% 0 0.00%
Complex Feature Mix focused/conditional run 217.58 8.77 3.27% 0 0.00%
Conditional isolates skip even indices 495.13 3.879 7.74% 0 0.00%
Conditional isolates omit multiples of 4 474.12 4.7762 9.22% 0 0.00%
Dynamic each and groups longer list 205.56 10.8899 23.20% 0 0.00%
Reconciler & History Diffing Reconciler (Stable List) 3.94 278.63 3.31% 0 0.00%
Reconciler & History Diffing Reconciler (Full Invalidation) 4.066 255.02 1.43% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 4.108 252.56 1.33% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 4.114 247.78 0.76% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 4.124 245.96 0.62% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 4.094 255.04 1.18% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 4.103 247.21 0.56% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 7.91 127.16 0.31% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 880.17 1.5319 0.78% +53.12 +6.42% 🎉
Result Selectors & Reporting getErrors (Group Lookup) 395.46 9.1129 8.34% 0 0.00%
Result Selectors & Reporting Summary Generation (Large) 3.587 285.99 0.99% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 4.07 248.5 0.60% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 4.064 247.69 0.30% 0 0.00%
Async & Concurrency Stress Reject Storm 4.001 256.47 0.90% 0 0.00%
Async & Concurrency Stress Async Race 170.98 9.9919 3.42% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 162.96 7.6771 2.29% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 642.35 2.8048 1.59% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 4.926 220.27 2.26% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 8.545 118.77 0.55% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 7.215 144.89 1.33% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 7.307 137.77 0.44% 0 0.00%
VestBus & Internals Bus Scaling 197.99 8.3385 2.50% +12.53 +6.76% 🎉
VestBus & Internals State Refill 121.79 12.839 3.94% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 8.541 123.11 1.37% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 8.459 123.96 1.30% 0 0.00%
Serialization Serialize (Large) 90.845 13.2145 2.54% 0 0.00%
Serialization Deserialize (Large) 64.259 16.6045 1.24% 0 0.00%
Edge Cases & Integration Broad Group 4.079 246.91 0.32% 0 0.00%
Edge Cases & Integration Namespace Collision 4.117 246.44 0.62% 0 0.00%
Edge Cases & Integration Large Field Names 198.82 6.4309 2.50% 0 0.00%
Edge Cases & Integration Large Failure Messages 346.66 5.3262 3.28% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 320.84 12.9588 11.94% -58.64 -15.45% ⚠️
Feature Coverage Matrix enforce matrix (larger payload) 664.37 5.7722 9.52% 0 0.00%
Feature Coverage Matrix flow control eager mode 312.81 8.4718 8.81% 0 0.00%
Feature Coverage Matrix flow control one mode 228.59 20.6072 18.26% 0 0.00%
Reordering & Reconciliation each (Reorder - Reverse) 99.319 36.0262 11.91% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 99.619 15.4871 4.62% 0 0.00%
Reordering & Reconciliation each (Reorder - Delete Middle) 107.37 12.0771 3.92% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 253.33 9.6869 6.59% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 174.79 6.5394 1.20% 0 0.00%
State Mutation & Reset suite.reset() (Memory Reclamation) 8.781 115.64 0.51% 0 0.00%
Concurrency & Events Bus Stress 4.26 238.94 0.62% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 11.393 99.666 10.99% 0 0.00%
Nested Fields with Hooks depth 4 with 60 fields per level 6.099 191.31 36.88% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 6.119 164.33 7.08% 0 0.00%
Field Volume Stress 10 fields 343.71 9.4641 5.62% 0 0.00%
Field Volume Stress 500 fields 4.73 219.39 1.08% 0 0.00%
Field Volume Stress 1000 fields 2.055 525.56 2.05% 0 0.00%
Deep Nesting Stress depth 10 73.656 41.355 7.79% 0 0.00%
Deep Nesting Stress depth 50 29.471 46.5241 2.88% 0 0.00%
Deep Nesting Stress depth 100 18.928 54.0435 0.65% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 185.6 9.9634 3.41% 0 0.00%
Core Test Functionality test (High Volume, Same Name) 4.26 238.35 0.59% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 4.217 241.01 0.81% 0 0.00%
Raw Output
See CI logs for full output 

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 257.38 11.119 7.38% 0 0.00%
State Management Serialize Large 175.88 7.4241 1.81% 0 0.00%
Integration & Edge Cases Callback Overhead 3.041 399.35 5.42% 0 0.00%
Complex Feature Mix full run with feature flags 138.22 15.8262 7.32% 0 0.00%
Complex Feature Mix focused/conditional run 220.22 8.5236 3.11% 0 0.00%
Conditional isolates skip even indices 502.6 3.6012 7.21% -48.62 -8.82% ⚠️
Conditional isolates omit multiples of 4 486.31 4.0252 8.48% 0 0.00%
Dynamic each and groups longer list 229.85 14.2311 22.65% 0 0.00%
Reconciler & History Diffing Reconciler (Stable List) 3.046 349.79 2.36% 0 0.00%
Reconciler & History Diffing Reconciler (Full Invalidation) 3.137 329.32 0.99% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 3.14 324.86 0.88% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 3.139 324.47 0.93% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 3.109 329 0.76% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 3.126 324.11 0.77% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 3.104 326.96 0.71% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 6.151 164.7 0.62% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 669.99 1.9397 0.80% 0 0.00%
Result Selectors & Reporting getErrors (Group Lookup) 348.61 7.612 7.71% 0 0.00%
Result Selectors & Reporting Summary Generation (Large) 2.558 400.57 1.00% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 3.137 322 0.47% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 3.096 363.11 3.19% 0 0.00%
Async & Concurrency Stress Reject Storm 3.076 327.92 0.42% 0 0.00%
Async & Concurrency Stress Async Race 154.29 8.4895 3.18% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 147.92 8.2996 2.35% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 630.66 2.7908 1.62% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 3.618 280.68 0.64% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 6.641 152.7 0.63% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 5.808 177.27 1.49% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 5.85 175.48 0.95% 0 0.00%
VestBus & Internals Bus Scaling 179.45 7.3089 2.14% 0 0.00%
VestBus & Internals State Refill 121.52 10.3892 2.51% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 6.716 150.4 0.52% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 6.714 150.19 0.51% 0 0.00%
Serialization Serialize (Large) 96.294 13.7597 3.06% 0 0.00%
Serialization Deserialize (Large) 64.101 17.6806 2.52% 0 0.00%
Edge Cases & Integration Broad Group 3.137 322.23 0.48% 0 0.00%
Edge Cases & Integration Namespace Collision 3.153 326.63 0.98% 0 0.00%
Edge Cases & Integration Large Field Names 181.6 7.1104 2.34% 0 0.00%
Edge Cases & Integration Large Failure Messages 336.67 4.9643 3.00% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 427.56 5.2657 7.24% +43.66 +11.37% 🎉
Feature Coverage Matrix enforce matrix (larger payload) 682.94 7.7232 9.64% 0 0.00%
Feature Coverage Matrix flow control eager mode 364.97 6.664 6.97% -49.93 -12.03% ⚠️
Feature Coverage Matrix flow control one mode 287.67 6.6097 6.51% +42.95 +17.55% 🎉
Reordering & Reconciliation each (Reorder - Reverse) 106.69 14.7763 4.87% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 94.298 13.9326 4.38% 0 0.00%
Reordering & Reconciliation each (Reorder - Delete Middle) 100.69 12.9906 4.36% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 247.5 7.7251 5.36% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 156.86 7.5542 1.50% +20.03 +14.64% 🎉
State Mutation & Reset suite.reset() (Memory Reclamation) 6.443 156.95 0.46% 0 0.00%
Concurrency & Events Bus Stress 3.228 312.53 0.38% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 10.45 101.5 5.53% 0 0.00%
Nested Fields with Hooks depth 4 with 60 fields per level 5.058 214.06 18.71% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 4.63 216.89 5.28% 0 0.00%
Field Volume Stress 10 fields 374.83 9.0764 7.68% 0 0.00%
Field Volume Stress 500 fields 3.652 280.15 0.66% 0 0.00%
Field Volume Stress 1000 fields 1.525 663.32 0.51% 0 0.00%
Deep Nesting Stress depth 10 76.527 27.6535 5.78% 0 0.00%
Deep Nesting Stress depth 50 27.792 41.2792 1.35% 0 0.00%
Deep Nesting Stress depth 100 16.962 62.0493 1.02% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 166.58 10.0302 3.20% +11.93 +7.71% 🎉
Core Test Functionality test (High Volume, Same Name) 3.151 325.42 0.90% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 3.139 322.83 0.47% 0 0.00%
Raw Output
See CI logs for full output 

🚀 Benchmark Results

Suite Benchmark Ops/sec (Hz) P99 (ms) Margin of Error Diff (Abs) Diff (%)
Complex Data Validation Enforce Huge String 218.47 11.902 8.67% 0 0.00%
State Management Serialize Large 188.32 6.7766 1.93% 0 0.00%
Integration & Edge Cases Callback Overhead 4.039 256.3 1.12% 0 0.00%
Complex Feature Mix full run with feature flags 139.19 13.4286 9.18% 0 0.00%
Complex Feature Mix focused/conditional run 227.81 8.378 3.23% 0 0.00%
Conditional isolates skip even indices 489.53 4.8467 9.41% 0 0.00%
Conditional isolates omit multiples of 4 464.78 4.6974 10.58% 0 0.00%
Dynamic each and groups longer list 255.5 6.9931 11.16% +56.51 +28.40% 🎉
Reconciler & History Diffing Reconciler (Stable List) 4 276.23 2.96% 0 0.00%
Reconciler & History Diffing Reconciler (Full Invalidation) 4.146 252.17 1.32% 0 0.00%
Reconciler & History Diffing Reconciler (Prepend Item) 4.16 244.43 0.64% 0 0.00%
Reconciler & History Diffing Reconciler (Append Item) 4.135 244.69 0.37% 0 0.00%
Reconciler & History Diffing Reconciler (Interleaved) 4.139 244.38 0.50% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Reverse) 4.142 248.44 0.93% 0 0.00%
Reconciler & History Diffing Isolate Reordering (Shuffle) 4.053 253.03 0.94% 0 0.00%
Reconciler & History Diffing Orphan GC Pressure 7.903 129.73 0.86% 0 0.00%
Result Selectors & Reporting hasErrors (Volume) 888.52 1.5074 0.75% +70.95 +8.68% 🎉
Result Selectors & Reporting getErrors (Group Lookup) 396 8.6919 8.10% +30.59 +8.37% 🎉
Result Selectors & Reporting Summary Generation (Large) 3.645 280.83 0.74% 0 0.00%
Async & Concurrency Stress Pending Storm (Memory) 4.096 249.42 0.94% 0 0.00%
Async & Concurrency Stress Resolve Storm (Throughput) 4.066 267.87 2.30% 0 0.00%
Async & Concurrency Stress Reject Storm 4.072 251.24 0.73% 0 0.00%
Async & Concurrency Stress Async Race 167.6 9.962 3.30% 0 0.00%
Control Flow & Hooks Internals test.memo (Thrashing) 165.44 7.8881 2.15% 0 0.00%
Control Flow & Hooks Internals test.memo (Stagnation) 639 2.8137 1.67% 0 0.00%
Control Flow & Hooks Internals omitWhen (Active) 5.052 201.1 0.86% 0 0.00%
Control Flow & Hooks Internals skipWhen (Active) 8.59 118.35 0.53% 0 0.00%
Control Flow & Hooks Internals only Starvation (Early) 7.243 140.93 0.81% 0 0.00%
Control Flow & Hooks Internals only Starvation (Late) 7.35 139.02 0.93% 0 0.00%
VestBus & Internals Bus Scaling 193.68 7.0954 2.34% 0 0.00%
VestBus & Internals State Refill 122.62 10.7984 3.12% 0 0.00%
Memory & Object Lifecycle Test Object Allocator 8.675 116.52 0.48% 0 0.00%
Memory & Object Lifecycle Garbage Collection Friendly 8.34 128.89 1.98% 0 0.00%
Serialization Serialize (Large) 84.676 13.6855 2.04% -7.483 -8.12% ⚠️
Serialization Deserialize (Large) 61.986 17.921 1.99% -5.507 -8.16% ⚠️
Edge Cases & Integration Broad Group 4.081 250.42 0.62% 0 0.00%
Edge Cases & Integration Namespace Collision 4.131 245.97 0.71% 0 0.00%
Edge Cases & Integration Large Field Names 187.42 9.3672 3.21% 0 0.00%
Edge Cases & Integration Large Failure Messages 347.41 6.4728 3.75% 0 0.00%
Feature Coverage Matrix enforce matrix (small payload) 383.09 6.5597 7.89% 0 0.00%
Feature Coverage Matrix enforce matrix (larger payload) 651.01 6.4424 9.50% 0 0.00%
Feature Coverage Matrix flow control eager mode 299.9 7.6961 8.74% 0 0.00%
Feature Coverage Matrix flow control one mode 247.01 10.3388 10.11% 0 0.00%
Reordering & Reconciliation each (Reorder - Reverse) 102.78 21.9404 7.38% 0 0.00%
Reordering & Reconciliation each (Reorder - Insert Middle) 101.76 17.8588 4.72% +6.672 +7.02% 🎉
Reordering & Reconciliation each (Reorder - Delete Middle) 111.24 11.114 3.15% 0 0.00%
Reordering & Reconciliation each (Key Thrashing) 266.44 6.5295 4.50% 0 0.00%
State Mutation & Reset suite.remove() (Many Fields) 168.61 10.3946 2.28% 0 0.00%
State Mutation & Reset suite.reset() (Memory Reclamation) 8.684 116.06 0.51% 0 0.00%
Concurrency & Events Bus Stress 4.093 257.03 1.48% 0 0.00%
Nested Fields with Hooks depth 3 with 40 fields per level 11.602 97.571 10.55% 0 0.00%
Nested Fields with Hooks depth 4 with 60 fields per level 6.306 180.92 31.35% 0 0.00%
Nested Fields with Hooks depth 5 with 80 fields per level 6.305 158.88 2.24% 0 0.00%
Field Volume Stress 10 fields 353.6 9.6284 5.70% 0 0.00%
Field Volume Stress 500 fields 4.916 208.65 0.86% 0 0.00%
Field Volume Stress 1000 fields 2.18 462.66 0.38% 0 0.00%
Deep Nesting Stress depth 10 74.673 39.8308 7.56% 0 0.00%
Deep Nesting Stress depth 50 29.947 36.8306 1.40% 0 0.00%
Deep Nesting Stress depth 100 18.858 54.3227 0.58% 0 0.00%
Complex Combinations & Edge Cases High Frequency test Creation 181.11 9.8248 3.24% 0 0.00%
Core Test Functionality test (High Volume, Same Name) 4.327 236.95 0.79% 0 0.00%
Core Test Functionality test (High Volume, Unique Names) 4.343 232.9 0.38% 0 0.00%
Raw Output
See CI logs for full output 
@ealush ealush force-pushed the pr/vest-schema-filtering branch from e5026fc to 27544be Compare March 3, 2026 21:52
@ealush ealush force-pushed the pr/vest-schema-filtering branch from 27544be to 378fda0 Compare March 3, 2026 22:05
@ealush ealush force-pushed the pr/vest-schema-filtering branch from 378fda0 to d66a01a Compare March 3, 2026 22:23
@ealush ealush force-pushed the pr/vest-schema-filtering branch from d66a01a to 1cf023c Compare March 3, 2026 23:11
@ealush ealush force-pushed the pr/vest-schema-filtering branch from 1cf023c to a4718ab Compare March 3, 2026 23:33
@ealush ealush force-pushed the pr/vest-schema-filtering branch from a4718ab to 854b5d6 Compare March 3, 2026 23:59
Add getData() method to suite results that returns the validated schema parse output when validations pass, or falls back to raw input data. Exposes getData on the suite instance for direct access. Includes unit tests, type definitions, and updated snapshots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant