Skip to content

Conversation

@hash-worker
Copy link
Contributor

@hash-worker hash-worker bot commented Nov 30, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@vitest/coverage-istanbul (source) 3.2.4 -> 4.0.15 age confidence
vitest (source) 3.2.4 -> 4.0.15 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

vitest-dev/vitest (@​vitest/coverage-istanbul)

v4.0.15

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.0.14

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.0.13

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.0.12

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.11

Compare Source

   🚀 Experimental Features
   🏎 Performance
    View changes on GitHub

v4.0.10

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.9

Compare Source

   🚀 Experimental Features
   🐞 Bug Fixes
    View changes on GitHub

v4.0.8

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.7

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.0.6

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.5

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.0.4

Compare Source

   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub

v4.0.3

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.2

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.1

Compare Source

   🐞 Bug Fixes
    View changes on GitHub

v4.0.0

Compare Source

Vitest 4.0 is out!

To stay updated, read our blog post and check the migration guide.

   🚨 Breaking Changes
   🚀 Features
   🐞 Bug Fixes

Configuration

📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@hash-worker hash-worker bot enabled auto-merge November 30, 2025 14:12
@github-actions github-actions bot added area/deps Relates to third-party dependencies (area) area/apps > hash* Affects HASH (a `hash-*` app) area/apps > hash-api Affects the HASH API (app) area/libs Relates to first-party libraries/crates/packages (area) type/eng > backend Owned by the @backend team area/tests New or updated tests area/tests > integration New or updated integration tests area/apps labels Nov 30, 2025
@codecov
Copy link

codecov bot commented Nov 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.69%. Comparing base (f379581) to head (4a817a8).
⚠️ Report is 16 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8129      +/-   ##
==========================================
- Coverage   57.84%   57.69%   -0.16%     
==========================================
  Files        1167     1167              
  Lines      109264   109445     +181     
  Branches     4976     4882      -94     
==========================================
- Hits        63208    63148      -60     
- Misses      45310    45551     +241     
  Partials      746      746              
Flag Coverage Δ
apps.hash-ai-worker-ts 1.36% <ø> (+0.04%) ⬆️
apps.hash-api 0.00% <ø> (ø)
local.claude-hooks 0.00% <ø> (ø)
local.hash-isomorphic-utils 0.00% <ø> (ø)
rust.error-stack 90.88% <ø> (ø)
rust.harpc-net 96.18% <ø> (+0.01%) ⬆️
rust.harpc-tower 66.80% <ø> (ø)
rust.hash-codec 72.76% <ø> (ø)
rust.hash-graph-authorization 62.47% <ø> (ø)
rust.hash-graph-temporal-versioning 47.95% <ø> (ø)
rust.hash-graph-types 0.00% <ø> (ø)
rust.hashql-ast 87.24% <ø> (ø)
rust.hashql-core 82.46% <ø> (ø)
rust.hashql-diagnostics 72.43% <ø> (ø)
rust.hashql-eval 68.54% <ø> (ø)
rust.hashql-mir 83.78% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2025

Benchmark results

@rust/hash-graph-benches – Integrations

policy_resolution_large

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2002 $$28.1 \mathrm{ms} \pm 188 \mathrm{μs}\left({\color{gray}1.74 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$3.27 \mathrm{ms} \pm 15.3 \mathrm{μs}\left({\color{gray}1.85 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1001 $$12.4 \mathrm{ms} \pm 68.9 \mathrm{μs}\left({\color{gray}1.48 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 3314 $$41.9 \mathrm{ms} \pm 279 \mathrm{μs}\left({\color{gray}-0.479 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$14.0 \mathrm{ms} \pm 95.2 \mathrm{μs}\left({\color{gray}3.17 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 1526 $$23.5 \mathrm{ms} \pm 199 \mathrm{μs}\left({\color{gray}0.418 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 2078 $$27.9 \mathrm{ms} \pm 174 \mathrm{μs}\left({\color{lightgreen}-37.066 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.61 \mathrm{ms} \pm 20.9 \mathrm{μs}\left({\color{lightgreen}-79.289 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 1033 $$11.4 \mathrm{ms} \pm 87.6 \mathrm{μs}\left({\color{lightgreen}-60.132 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_medium

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 102 $$3.67 \mathrm{ms} \pm 16.3 \mathrm{μs}\left({\color{gray}-1.085 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.82 \mathrm{ms} \pm 11.5 \mathrm{μs}\left({\color{gray}-0.842 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 51 $$3.17 \mathrm{ms} \pm 11.8 \mathrm{μs}\left({\color{gray}-1.589 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 269 $$5.09 \mathrm{ms} \pm 26.6 \mathrm{μs}\left({\color{gray}-0.479 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$3.41 \mathrm{ms} \pm 12.9 \mathrm{μs}\left({\color{gray}-0.657 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 107 $$4.02 \mathrm{ms} \pm 22.9 \mathrm{μs}\left({\color{gray}1.07 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 133 $$4.35 \mathrm{ms} \pm 17.7 \mathrm{μs}\left({\color{red}6.30 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$3.31 \mathrm{ms} \pm 15.0 \mathrm{μs}\left({\color{gray}0.451 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 63 $$3.98 \mathrm{ms} \pm 28.2 \mathrm{μs}\left({\color{gray}2.63 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_none

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 2 $$2.48 \mathrm{ms} \pm 10.8 \mathrm{μs}\left({\color{red}5.11 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.46 \mathrm{ms} \pm 9.84 \mathrm{μs}\left({\color{red}6.28 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 1 $$2.58 \mathrm{ms} \pm 12.1 \mathrm{μs}\left({\color{red}7.81 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 8 $$2.74 \mathrm{ms} \pm 13.4 \mathrm{μs}\left({\color{gray}4.26 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.60 \mathrm{ms} \pm 10.5 \mathrm{μs}\left({\color{gray}4.91 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 3 $$2.82 \mathrm{ms} \pm 15.3 \mathrm{μs}\left({\color{gray}3.92 \mathrm{\%}}\right) $$ Flame Graph

policy_resolution_small

Function Value Mean Flame graphs
resolve_policies_for_actor user: empty, selectivity: high, policies: 52 $$2.91 \mathrm{ms} \pm 13.0 \mathrm{μs}\left({\color{red}5.76 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: low, policies: 1 $$2.56 \mathrm{ms} \pm 12.4 \mathrm{μs}\left({\color{red}5.96 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: empty, selectivity: medium, policies: 25 $$2.76 \mathrm{ms} \pm 12.8 \mathrm{μs}\left({\color{red}8.01 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: high, policies: 94 $$3.38 \mathrm{ms} \pm 19.8 \mathrm{μs}\left({\color{red}9.00 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: low, policies: 1 $$2.78 \mathrm{ms} \pm 9.95 \mathrm{μs}\left({\color{gray}4.28 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: seeded, selectivity: medium, policies: 26 $$3.04 \mathrm{ms} \pm 14.6 \mathrm{μs}\left({\color{red}6.18 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: high, policies: 66 $$3.26 \mathrm{ms} \pm 20.6 \mathrm{μs}\left({\color{red}9.52 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: low, policies: 1 $$2.77 \mathrm{ms} \pm 15.7 \mathrm{μs}\left({\color{gray}3.29 \mathrm{\%}}\right) $$ Flame Graph
resolve_policies_for_actor user: system, selectivity: medium, policies: 29 $$3.03 \mathrm{ms} \pm 16.6 \mathrm{μs}\left({\color{red}5.84 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_complete

Function Value Mean Flame graphs
entity_by_id;one_depth 1 entities $$38.6 \mathrm{ms} \pm 149 \mathrm{μs}\left({\color{gray}2.11 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 10 entities $$84.8 \mathrm{ms} \pm 388 \mathrm{μs}\left({\color{gray}-1.317 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 25 entities $$42.5 \mathrm{ms} \pm 193 \mathrm{μs}\left({\color{gray}1.82 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 5 entities $$44.8 \mathrm{ms} \pm 174 \mathrm{μs}\left({\color{gray}1.37 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;one_depth 50 entities $$53.2 \mathrm{ms} \pm 295 \mathrm{μs}\left({\color{gray}0.262 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 1 entities $$40.0 \mathrm{ms} \pm 147 \mathrm{μs}\left({\color{gray}0.788 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 10 entities $$494 \mathrm{ms} \pm 793 \mathrm{μs}\left({\color{gray}-1.481 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 25 entities $$98.2 \mathrm{ms} \pm 458 \mathrm{μs}\left({\color{gray}0.528 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 5 entities $$82.4 \mathrm{ms} \pm 371 \mathrm{μs}\left({\color{gray}0.653 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;two_depth 50 entities $$289 \mathrm{ms} \pm 627 \mathrm{μs}\left({\color{gray}-0.331 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 1 entities $$14.8 \mathrm{ms} \pm 71.3 \mathrm{μs}\left({\color{gray}0.476 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 10 entities $$15.0 \mathrm{ms} \pm 59.4 \mathrm{μs}\left({\color{gray}2.64 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 25 entities $$15.3 \mathrm{ms} \pm 70.3 \mathrm{μs}\left({\color{gray}0.225 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 5 entities $$15.0 \mathrm{ms} \pm 78.5 \mathrm{μs}\left({\color{gray}2.79 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id;zero_depth 50 entities $$18.7 \mathrm{ms} \pm 108 \mathrm{μs}\left({\color{gray}3.03 \mathrm{\%}}\right) $$ Flame Graph

read_scaling_linkless

Function Value Mean Flame graphs
entity_by_id 1 entities $$14.5 \mathrm{ms} \pm 64.6 \mathrm{μs}\left({\color{gray}2.11 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10 entities $$14.6 \mathrm{ms} \pm 88.1 \mathrm{μs}\left({\color{gray}-1.016 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$14.9 \mathrm{ms} \pm 85.7 \mathrm{μs}\left({\color{gray}2.89 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$15.4 \mathrm{ms} \pm 77.6 \mathrm{μs}\left({\color{gray}2.65 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$22.7 \mathrm{ms} \pm 146 \mathrm{μs}\left({\color{gray}3.51 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity

Function Value Mean Flame graphs
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 $$29.3 \mathrm{ms} \pm 358 \mathrm{μs}\left({\color{gray}-0.486 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$29.6 \mathrm{ms} \pm 290 \mathrm{μs}\left({\color{gray}-0.386 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$29.9 \mathrm{ms} \pm 323 \mathrm{μs}\left({\color{gray}-0.812 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$29.6 \mathrm{ms} \pm 299 \mathrm{μs}\left({\color{gray}-3.524 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$29.9 \mathrm{ms} \pm 336 \mathrm{μs}\left({\color{gray}0.680 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$29.7 \mathrm{ms} \pm 323 \mathrm{μs}\left({\color{gray}-1.236 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$29.9 \mathrm{ms} \pm 278 \mathrm{μs}\left({\color{gray}2.48 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$28.9 \mathrm{ms} \pm 282 \mathrm{μs}\left({\color{gray}-4.727 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$28.3 \mathrm{ms} \pm 309 \mathrm{μs}\left({\color{lightgreen}-7.542 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity_type

Function Value Mean Flame graphs
get_entity_type_by_id Account ID: bf5a9ef5-dc3b-43cf-a291-6210c0321eba $$8.98 \mathrm{ms} \pm 37.8 \mathrm{μs}\left({\color{gray}0.580 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
entity_by_property traversal_paths=0 0 $$57.0 \mathrm{ms} \pm 288 \mathrm{μs}\left({\color{gray}-0.339 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$107 \mathrm{ms} \pm 351 \mathrm{μs}\left({\color{gray}-0.803 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$62.2 \mathrm{ms} \pm 300 \mathrm{μs}\left({\color{lightgreen}-5.031 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$71.2 \mathrm{ms} \pm 341 \mathrm{μs}\left({\color{gray}-0.557 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$78.9 \mathrm{ms} \pm 271 \mathrm{μs}\left({\color{gray}-1.422 \mathrm{\%}}\right) $$
entity_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$86.5 \mathrm{ms} \pm 383 \mathrm{μs}\left({\color{gray}-1.460 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=0 0 $$50.5 \mathrm{ms} \pm 281 \mathrm{μs}\left({\color{lightgreen}-5.263 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=255 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true $$79.4 \mathrm{ms} \pm 304 \mathrm{μs}\left({\color{gray}-2.917 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false $$59.4 \mathrm{ms} \pm 331 \mathrm{μs}\left({\color{gray}1.72 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true $$65.5 \mathrm{ms} \pm 335 \mathrm{μs}\left({\color{gray}-1.393 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true $$67.8 \mathrm{ms} \pm 301 \mathrm{μs}\left({\color{gray}-4.894 \mathrm{\%}}\right) $$
link_by_source_by_property traversal_paths=2 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true $$67.9 \mathrm{ms} \pm 305 \mathrm{μs}\left({\color{gray}-1.650 \mathrm{\%}}\right) $$

scenarios

Function Value Mean Flame graphs
full_test query-limited $$148 \mathrm{ms} \pm 716 \mathrm{μs}\left({\color{red}6.37 \mathrm{\%}}\right) $$ Flame Graph
full_test query-unlimited $$142 \mathrm{ms} \pm 532 \mathrm{μs}\left({\color{red}5.29 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-limited $$41.3 \mathrm{ms} \pm 185 \mathrm{μs}\left({\color{lightgreen}-33.842 \mathrm{\%}}\right) $$ Flame Graph
linked_queries query-unlimited $$572 \mathrm{ms} \pm 1.18 \mathrm{ms}\left({\color{gray}0.206 \mathrm{\%}}\right) $$ Flame Graph

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/apps > hash* Affects HASH (a `hash-*` app) area/apps > hash-api Affects the HASH API (app) area/apps area/deps Relates to third-party dependencies (area) area/libs Relates to first-party libraries/crates/packages (area) area/tests > integration New or updated integration tests area/tests New or updated tests type/eng > backend Owned by the @backend team

Development

Successfully merging this pull request may close these issues.

3 participants