Skip to content

ci: cache MoonBit registry state#560

Merged
dowdiness merged 1 commit into
mainfrom
ci-docs-batch-557-559
Jun 7, 2026
Merged

ci: cache MoonBit registry state#560
dowdiness merged 1 commit into
mainfrom
ci-docs-batch-557-559

Conversation

@dowdiness

Copy link
Copy Markdown
Owner

Summary

  • Cache the MoonBit registry index/cache/symbols in the shared setup action so CI jobs can avoid fresh registry clones when cache state is available.
  • Make exhausted transient moon update failures explicitly report a setup/network failure while keeping deterministic dependency failures non-retried.
  • Archive the completed editor protocol plan and update the performance doc link to the archived path.

Closes #557.
Closes #559.

Reuse check

Pure CI/docs/shell-script change. No MoonBit functions, methods, helpers, or types added.

Existing APIs considered:

API Location Reused? Reason if not
Shared MoonBit setup action .github/actions/setup-moonbit/action.yml Yes Added registry caching once for all CI jobs that use the action.
Moon update retry wrapper scripts/moon-update.sh Yes Kept centralized retry/backoff behavior and improved final setup/network diagnostics.
Documentation doctrine docs/development/documentation-doctrine.md Yes Archived the completed protocol plan instead of keeping it in active plans.

New helpers added (if any):

None.

Test plan

  • bash -n scripts/moon-update.sh scripts/test-moon-update-wrapper.sh
  • ./scripts/test-moon-update-wrapper.sh
  • ./scripts/check-moon-update-wrapped.sh
  • rg -n "framework/protocol|SetCursor\\(position\\)" docs/plans protocol adapters/editor-adapter/README.md adapters/editor-adapter/types.ts produced no output
  • rg -n "2026-04-01-editor-protocol-design" docs README.md .github AGENTS.md --glob '!docs/archive/**' only reports the performance doc link to the archived plan
  • git diff --check
  • NEW_MOON_MOD=0 moon check passes — not run (CI/docs/shell-only)
  • NEW_MOON_MOD=0 moon test passes — not run (CI/docs/shell-only)
  • git diff *.mbti reviewed for unintended API surface changes — no .mbti changes
  • JS rebuild run if web is affected — not run (not web-code affecting)

Validation

bash -n scripts/moon-update.sh scripts/test-moon-update-wrapper.sh
./scripts/test-moon-update-wrapper.sh
./scripts/check-moon-update-wrapped.sh
rg -n "framework/protocol|SetCursor\\(position\\)" docs/plans protocol adapters/editor-adapter/README.md adapters/editor-adapter/types.ts
rg -n "2026-04-01-editor-protocol-design" docs README.md .github AGENTS.md --glob '!docs/archive/**'
git diff --check

@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@dowdiness, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 51 minutes and 6 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f2615d31-0654-4379-8f37-2c254ea619be

📥 Commits

Reviewing files that changed from the base of the PR and between a2d66aa and 946cf7b.

📒 Files selected for processing (6)
  • .github/actions/setup-moonbit/action.yml
  • docs/archive/completed-phases/2026-04-01-editor-protocol-design.md
  • docs/performance/2026-04-01-viewnode-serialization-spike.md
  • protocol/README.md
  • scripts/moon-update.sh
  • scripts/test-moon-update-wrapper.sh
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-docs-batch-557-559

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.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
lambda-editor 946cf7b Commit Preview URL

Branch Preview URL
Jun 07 2026, 07:03 AM

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Benchmark Comparison Report

Comparing PR branch against main

Main Module Benchmarks

Base branch:

[dowdiness/btree] bench btree_benchmark.mbt:79 ("bench: build via inserts (100)") ok
time (mean ± σ)         range (min … max) 
  66.01 µs ± 685.92 ns    65.39 µs …  67.76 µs  in 10 ×   1466 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   3.04 µs ±   9.24 ns     3.03 µs …   3.06 µs  in 10 ×  35803 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
   1.07 ms ±  14.01 µs     1.05 ms …   1.09 ms  in 10 ×     87 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  30.29 µs ± 299.78 ns    29.83 µs …  30.68 µs  in 10 ×   3311 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  16.36 ms ± 154.75 µs    16.17 ms …  16.58 ms  in 10 ×      7 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 531.45 µs ±   8.32 µs   519.05 µs … 542.44 µs  in 10 ×    191 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  57.65 µs ± 472.00 ns    56.70 µs …  58.07 µs  in 10 ×   1728 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  52.30 µs ± 402.85 ns    51.57 µs …  52.84 µs  in 10 ×   1894 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 708.78 µs ±   4.48 µs   703.69 µs … 719.27 µs  in 10 ×    142 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 702.24 µs ±   7.65 µs   691.24 µs … 712.48 µs  in 10 ×    142 runs
Total tests: 10, passed: 10, failed: 0. [wasm-gc]
node count: 502
node count: 1002
node count: 2502
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:24 ("viewnode serialization (100 defs)") ok
time (mean ± σ)         range (min … max) 
   2.32 ms ±  21.49 µs     2.28 ms …   2.34 ms  in 10 ×     44 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   6.52 ms ± 307.34 µs     6.06 ms …   7.04 ms  in 10 ×     15 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  27.84 ms ±   1.87 ms    25.03 ms …  30.62 ms  in 10 ×      4 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:57 ("compute_view_patches (100 defs, single edit)") ok
time (mean ± σ)         range (min … max) 
   1.91 ms ±  54.36 µs     1.86 ms …   2.01 ms  in 10 ×     56 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
   1.01 ms ±  61.11 µs   916.08 µs …   1.09 ms  in 10 ×     97 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.94 ms ±  87.45 µs     3.84 ms …   4.11 ms  in 10 ×     26 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  25.78 ms ± 291.96 µs    25.42 ms …  26.20 ms  in 10 ×      4 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:113 ("json object - incremental keystroke (1000 members)") ok
time (mean ± σ)         range (min … max) 
  59.66 ms ± 457.31 µs    59.18 ms …  60.49 ms  in 10 ×      2 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:118 ("json array - incremental keystroke (20 elements)") ok
time (mean ± σ)         range (min … max) 
 800.70 µs ± 175.37 µs   545.99 µs …   1.04 ms  in 10 ×    216 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.90 ms ±  59.09 µs     1.81 ms …   2.00 ms  in 10 ×     54 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  12.88 ms ± 185.87 µs    12.53 ms …  13.10 ms  in 10 ×      8 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  33.24 ms ±   2.40 ms    31.99 ms …  39.96 ms  in 10 ×      4 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   6.19 µs ±  64.31 ns     6.14 µs …   6.36 µs  in 10 ×  15747 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  24.06 µs ± 203.45 ns    23.83 µs …  24.53 µs  in 10 ×   3893 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
 108.65 µs ± 456.43 ns   107.80 µs … 109.16 µs  in 10 ×    864 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 473.89 µs ±   2.78 µs   469.41 µs … 477.72 µs  in 10 ×    215 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
  10.75 µs ±  46.70 ns    10.69 µs …  10.85 µs  in 10 ×   9295 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
 193.66 µs ±   1.23 µs   191.73 µs … 195.16 µs  in 10 ×    516 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 864.91 µs ±  16.72 µs   848.97 µs … 891.30 µs  in 10 ×    118 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  42.09 µs ± 170.72 ns    41.88 µs …  42.37 µs  in 10 ×   2360 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:61 ("reconcile wide-siblings (20 defs)") ok
time (mean ± σ)         range (min … max) 
  11.12 µs ±  22.60 ns    11.09 µs …  11.16 µs  in 10 ×   9038 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:66 ("reconcile wide-siblings (80 defs)") ok
time (mean ± σ)         range (min … max) 
 103.40 µs ± 228.96 ns   103.13 µs … 103.76 µs  in 10 ×    968 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:71 ("reconcile wide-siblings (320 defs)") ok
time (mean ± σ)         range (min … max) 
   1.37 ms ±   4.61 µs     1.37 ms …   1.38 ms  in 10 ×     72 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:76 ("reconcile wide-siblings (1000 defs)") ok
time (mean ± σ)         range (min … max) 
  13.21 ms ±  43.18 µs    13.16 ms …  13.29 ms  in 10 ×      8 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:148 ("fp_incr unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   8.37 µs ±  15.50 ns     8.34 µs …   8.39 µs  in 10 ×  12016 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:157 ("fp_incr unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  51.05 µs ± 170.38 ns    50.58 µs …  51.17 µs  in 10 ×   1992 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:166 ("fp_incr unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
 571.04 µs ±   4.77 µs   568.39 µs … 580.32 µs  in 10 ×    176 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:175 ("fp_incr unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   5.22 ms ±  33.40 µs     5.18 ms …   5.27 ms  in 10 ×     20 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:186 ("fp_incr tail (20 defs)") ok
time (mean ± σ)         range (min … max) 
  17.06 µs ± 100.19 ns    16.89 µs …  17.25 µs  in 10 ×   5946 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:195 ("fp_incr tail (80 defs)") ok
time (mean ± σ)         range (min … max) 
  86.40 µs ± 332.92 ns    86.03 µs …  87.03 µs  in 10 ×   1162 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:204 ("fp_incr tail (320 defs)") ok
time (mean ± σ)         range (min … max) 
 746.29 µs ±   1.90 µs   743.81 µs … 748.73 µs  in 10 ×    134 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:213 ("fp_incr tail (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   5.83 ms ±  21.19 µs     5.80 ms …   5.86 ms  in 10 ×     18 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:224 ("fp_incr shifted (20 defs)") ok
time (mean ± σ)         range (min … max) 
  23.87 µs ± 561.48 ns    23.32 µs …  24.95 µs  in 10 ×   4130 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:230 ("fp_incr shifted (80 defs)") ok
time (mean ± σ)         range (min … max) 
  99.37 µs ±   2.43 µs    97.45 µs … 103.14 µs  in 10 ×    985 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:236 ("fp_incr shifted (320 defs)") ok
time (mean ± σ)         range (min … max) 
 447.33 µs ±   9.76 µs   437.05 µs … 462.97 µs  in 10 ×    228 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:242 ("fp_incr shifted (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   1.50 ms ±  30.19 µs     1.47 ms …   1.56 ms  in 10 ×     66 runs
Total tests: 36, passed: 36, failed: 0. [js]
Warning: no test entry found.
Total tests: 0, passed: 0, failed: 0. [native]

PR branch:

Registry index cloned successfully
Symbols updated successfully
Downloading moonbitlang/x@0.4.38
Downloading moonbitlang/async@0.16.8
Downloading moonbitlang/quickcheck@0.14.0
Downloading dowdiness/rle@0.2.0
Downloading dowdiness/incr@0.8.0
[dowdiness/btree] bench btree_benchmark.mbt:79 ("bench: build via inserts (100)") ok
time (mean ± σ)         range (min … max) 
  65.13 µs ± 653.93 ns    64.42 µs …  66.76 µs  in 10 ×   1497 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   3.06 µs ±  14.59 ns     3.05 µs …   3.09 µs  in 10 ×  35775 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
   1.05 ms ±  34.86 µs     1.02 ms …   1.14 ms  in 10 ×     89 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  29.22 µs ± 439.91 ns    28.78 µs …  30.02 µs  in 10 ×   3458 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  15.77 ms ± 169.95 µs    15.53 ms …  16.00 ms  in 10 ×      7 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 514.03 µs ±   9.40 µs   501.66 µs … 523.48 µs  in 10 ×    195 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  56.71 µs ± 358.45 ns    56.30 µs …  57.62 µs  in 10 ×   1715 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  52.33 µs ±   1.07 µs    51.53 µs …  54.52 µs  in 10 ×   1921 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 715.16 µs ±   8.55 µs   704.01 µs … 729.19 µs  in 10 ×    143 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 706.39 µs ±  10.90 µs   692.99 µs … 722.03 µs  in 10 ×    142 runs
Total tests: 10, passed: 10, failed: 0. [wasm-gc]
node count: 502
node count: 1002
node count: 2502
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:24 ("viewnode serialization (100 defs)") ok
time (mean ± σ)         range (min … max) 
   2.27 ms ±  25.47 µs     2.24 ms …   2.31 ms  in 10 ×     45 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   6.25 ms ± 258.17 µs     5.93 ms …   6.77 ms  in 10 ×     16 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  27.99 ms ±   2.22 ms    25.67 ms …  31.96 ms  in 10 ×      4 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:57 ("compute_view_patches (100 defs, single edit)") ok
time (mean ± σ)         range (min … max) 
   1.97 ms ±  90.35 µs     1.85 ms …   2.09 ms  in 10 ×     50 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
   1.02 ms ±  62.55 µs   939.69 µs …   1.12 ms  in 10 ×     94 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.95 ms ±  90.55 µs     3.87 ms …   4.17 ms  in 10 ×     25 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  26.15 ms ± 355.11 µs    25.59 ms …  26.84 ms  in 10 ×      4 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:113 ("json object - incremental keystroke (1000 members)") ok
time (mean ± σ)         range (min … max) 
  60.27 ms ±   1.23 ms    58.78 ms …  61.88 ms  in 10 ×      2 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:118 ("json array - incremental keystroke (20 elements)") ok
time (mean ± σ)         range (min … max) 
 835.12 µs ± 182.82 µs   591.95 µs …   1.07 ms  in 10 ×    214 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.88 ms ±  69.07 µs     1.80 ms …   1.98 ms  in 10 ×     57 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  13.12 ms ± 288.47 µs    12.75 ms …  13.59 ms  in 10 ×      8 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  33.53 ms ±   3.21 ms    31.94 ms …  42.60 ms  in 10 ×      4 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   6.63 µs ± 188.06 ns     6.49 µs …   7.07 µs  in 10 ×  14740 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  24.32 µs ± 609.58 ns    23.90 µs …  25.87 µs  in 10 ×   3864 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
 108.98 µs ± 713.54 ns   107.76 µs … 110.05 µs  in 10 ×    850 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 504.15 µs ±   6.59 µs   496.74 µs … 515.55 µs  in 10 ×    201 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
  11.08 µs ±  38.63 ns    11.03 µs …  11.16 µs  in 10 ×   9046 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
 194.85 µs ±   2.05 µs   191.90 µs … 197.37 µs  in 10 ×    515 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 801.41 µs ±   1.19 µs   799.38 µs … 803.29 µs  in 10 ×    126 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  41.34 µs ± 163.83 ns    41.15 µs …  41.62 µs  in 10 ×   2427 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:61 ("reconcile wide-siblings (20 defs)") ok
time (mean ± σ)         range (min … max) 
  11.30 µs ±  34.36 ns    11.24 µs …  11.35 µs  in 10 ×   8751 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:66 ("reconcile wide-siblings (80 defs)") ok
time (mean ± σ)         range (min … max) 
 105.27 µs ± 582.86 ns   104.60 µs … 106.58 µs  in 10 ×    945 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:71 ("reconcile wide-siblings (320 defs)") ok
time (mean ± σ)         range (min … max) 
   1.36 ms ±   3.76 µs     1.36 ms …   1.37 ms  in 10 ×     74 runs
[dowdiness/canopy] bench projection/reconcile_lcs_benchmark_wbtest.mbt:76 ("reconcile wide-siblings (1000 defs)") ok
time (mean ± σ)         range (min … max) 
  13.52 ms ± 499.04 µs    13.29 ms …  14.93 ms  in 10 ×      8 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:148 ("fp_incr unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   8.43 µs ±  52.58 ns     8.37 µs …   8.51 µs  in 10 ×  11918 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:157 ("fp_incr unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  51.00 µs ± 369.64 ns    50.27 µs …  51.30 µs  in 10 ×   1989 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:166 ("fp_incr unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
 571.18 µs ±   3.23 µs   569.08 µs … 579.98 µs  in 10 ×    175 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:175 ("fp_incr unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   5.11 ms ±  19.34 µs     5.09 ms …   5.14 ms  in 10 ×     20 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:186 ("fp_incr tail (20 defs)") ok
time (mean ± σ)         range (min … max) 
  16.77 µs ±  75.40 ns    16.66 µs …  16.90 µs  in 10 ×   5961 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:195 ("fp_incr tail (80 defs)") ok
time (mean ± σ)         range (min … max) 
  88.23 µs ± 479.60 ns    87.93 µs …  89.53 µs  in 10 ×   1134 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:204 ("fp_incr tail (320 defs)") ok
time (mean ± σ)         range (min … max) 
 738.28 µs ±   1.24 µs   736.43 µs … 739.86 µs  in 10 ×    136 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:213 ("fp_incr tail (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   5.82 ms ±  26.23 µs     5.78 ms …   5.86 ms  in 10 ×     18 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:224 ("fp_incr shifted (20 defs)") ok
time (mean ± σ)         range (min … max) 
  21.25 µs ± 183.64 ns    21.03 µs …  21.49 µs  in 10 ×   4679 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:230 ("fp_incr shifted (80 defs)") ok
time (mean ± σ)         range (min … max) 
  89.32 µs ±   1.36 µs    87.81 µs …  92.16 µs  in 10 ×    997 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:236 ("fp_incr shifted (320 defs)") ok
time (mean ± σ)         range (min … max) 
 404.55 µs ±   3.28 µs   398.88 µs … 410.52 µs  in 10 ×    252 runs
[dowdiness/canopy] bench projection/module_projection_incremental_benchmark_wbtest.mbt:242 ("fp_incr shifted (1000 defs)") ok
time (mean ± σ)         range (min … max) 
   1.40 ms ±  25.47 µs     1.38 ms …   1.46 ms  in 10 ×     72 runs
Total tests: 36, passed: 36, failed: 0. [js]
Warning: no test entry found.
Total tests: 0, passed: 0, failed: 0. [native]

event-graph-walker Benchmarks

Base branch:

Registry index updated successfully
Symbols updated successfully
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:21 ("merge - concurrent edits (2 agents x 10)") ok
time (mean ± σ)         range (min … max) 
  18.93 µs ± 664.97 ns    18.33 µs …  20.52 µs  in 10 ×   5045 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:59 ("merge - concurrent edits (2 agents x 50)") ok
time (mean ± σ)         range (min … max) 
  94.74 µs ± 481.18 ns    94.07 µs …  95.39 µs  in 10 ×   1057 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:97 ("merge - concurrent edits (2 agents x 200)") ok
time (mean ± σ)         range (min … max) 
 441.59 µs ±   2.38 µs   439.08 µs … 445.10 µs  in 10 ×    225 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:135 ("merge - many agents (5 agents x 20)") ok
time (mean ± σ)         range (min … max) 
 120.50 µs ± 910.55 ns   119.37 µs … 121.67 µs  in 10 ×    828 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:184 ("merge - with deletes (50 inserts, 25 deletes)") ok
time (mean ± σ)         range (min … max) 
  87.67 µs ± 425.05 ns    87.34 µs …  88.78 µs  in 10 ×   1141 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:230 ("merge - graph_diff advance (20 ops)") ok
time (mean ± σ)         range (min … max) 
  61.15 µs ± 171.82 ns    60.90 µs …  61.52 µs  in 10 ×   1647 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:303 ("merge - repeated small (10 iterations x 5 ops)") ok
time (mean ± σ)         range (min … max) 
  96.79 µs ± 468.89 ns    96.16 µs …  97.69 µs  in 10 ×   1042 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:341 ("merge - retreat concurrent deletes (500 items, 50 deletes)") ok
time (mean ± σ)         range (min … max) 
 208.58 µs ±   1.51 µs   206.93 µs … 211.71 µs  in 10 ×    476 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:408 ("merge - context apply operations (50 ops)") ok
time (mean ± σ)         range (min … max) 
  42.04 µs ±  18.75 µs    28.36 µs …  78.83 µs  in 10 ×   2518 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   4.09 µs ±  45.09 ns     4.03 µs …   4.16 µs  in 10 ×  25177 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  28.10 µs ± 332.51 ns    27.65 µs …  28.64 µs  in 10 ×   3588 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 369.11 µs ±   4.92 µs   360.77 µs … 376.42 µs  in 10 ×    265 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
  11.42 µs ±   2.80 µs     9.21 µs …  16.51 µs  in 10 ×   8083 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
 101.78 µs ±  52.50 µs    57.97 µs … 197.73 µs  in 10 ×   1116 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  36.10 µs ± 210.56 ns    35.81 µs …  36.54 µs  in 10 ×   2754 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  36.25 µs ± 183.69 ns    36.06 µs …  36.59 µs  in 10 ×   2750 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:176 ("branch - repeated advance steady-state (10 iterations)") ok
time (mean ± σ)         range (min … max) 
  26.47 µs ± 671.06 ns    25.54 µs …  27.72 µs  in 10 ×   3774 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:220 ("branch - repeated advance with oplog mutations (10 iterations)") ok
time (mean ± σ)         range (min … max) 
   7.31 ms ±   3.73 ms     2.72 ms …  13.68 ms  in 10 ×     66 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:246 ("branch - to_text (100 chars)") ok
time (mean ± σ)         range (min … max) 
  12.07 µs ±  60.65 ns    12.00 µs …  12.19 µs  in 10 ×   8369 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 124.43 µs ± 826.71 ns   123.38 µs … 125.69 µs  in 10 ×    806 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:285 ("branch - single advance (1 new op)") ok
time (mean ± σ)         range (min … max) 
   4.19 µs ± 375.72 ns     3.92 µs …   5.00 µs  in 10 ×  23859 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:311 ("branch - single advance (50 new ops)") ok
time (mean ± σ)         range (min … max) 
  50.30 µs ±  28.31 µs    29.95 µs …  95.67 µs  in 10 ×   2353 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  16.07 ms ±   6.89 ms     6.67 ms …  27.24 ms  in 10 ×     27 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  17.06 µs ±   8.18 µs    12.28 µs …  35.51 µs  in 10 ×   7481 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 624.81 ns ±   8.41 ns   614.36 ns … 636.23 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:22 ("walker - linear history (100 ops)") ok
time (mean ± σ)         range (min … max) 
   4.84 µs ±  34.98 ns     4.82 µs …   4.94 µs  in 10 ×  20731 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:38 ("walker - linear history (1000 ops)") ok
time (mean ± σ)         range (min … max) 
  45.70 µs ± 773.87 ns    44.73 µs …  47.19 µs  in 10 ×   2238 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:54 ("walker - concurrent branches (2 agents x 50)") ok
time (mean ± σ)         range (min … max) 
   6.15 µs ±  31.36 ns     6.11 µs …   6.22 µs  in 10 ×  16138 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:79 ("walker - concurrent branches (5 agents x 20)") ok
time (mean ± σ)         range (min … max) 
   6.13 µs ±  35.35 ns     6.08 µs …   6.17 µs  in 10 ×  16325 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:99 ("walker - diamond pattern (50 diamonds)") ok
time (mean ± σ)         range (min … max) 
   8.52 µs ±  17.50 ns     8.50 µs …   8.54 µs  in 10 ×  11745 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:121 ("walker - diff advance only (10 new ops)") ok
time (mean ± σ)         range (min … max) 
   3.43 µs ±   8.27 ns     3.42 µs …   3.45 µs  in 10 ×  29057 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:145 ("walker - diff with concurrent branches") ok
time (mean ± σ)         range (min … max) 
   5.60 µs ±  18.34 ns     5.57 µs …   5.62 µs  in 10 ×  17824 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 473.71 µs ±   1.55 µs   471.37 µs … 476.51 µs  in 10 ×    212 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:196 ("walker - linear history (100000 ops)") ok
time (mean ± σ)         range (min … max) 
   7.94 ms ± 291.22 µs     7.58 ms …   8.32 ms  in 10 ×     13 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:213 ("walker - concurrent branches (100000 ops, 5 agents)") ok
time (mean ± σ)         range (min … max) 
  30.73 ms ±   3.68 ms    26.42 ms …  36.72 ms  in 10 ×      4 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:6 ("version_vector - create (1 agent)") ok
time (mean ± σ)         range (min … max) 
  51.48 ns ±   0.35 ns    50.80 ns …  51.74 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:15 ("version_vector - create (5 agents)") ok
time (mean ± σ)         range (min … max) 
 149.98 ns ±   0.54 ns   149.11 ns … 150.67 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:29 ("version_vector - create (20 agents)") ok
time (mean ± σ)         range (min … max) 
   1.16 µs ±   5.69 ns     1.16 µs …   1.18 µs  in 10 ×  86478 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:42 ("version_vector - compare equal (5 agents)") ok
time (mean ± σ)         range (min … max) 
 187.73 ns ±   0.39 ns   187.18 ns … 188.33 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:63 ("version_vector - compare <= (5 agents)") ok
time (mean ± σ)         range (min … max) 
 132.71 ns ±   1.04 ns   131.65 ns … 134.29 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:84 ("version_vector - compare <= (20 agents)") ok
time (mean ± σ)         range (min … max) 
 529.09 ns ±   1.14 ns   527.66 ns … 530.43 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:100 ("version_vector - merge (5 agents)") ok
time (mean ± σ)         range (min … max) 
 218.55 ns ±   0.66 ns   217.65 ns … 219.93 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:118 ("version_vector - merge (20 agents)") ok
time (mean ± σ)         range (min … max) 
   1.33 µs ±   1.99 ns     1.33 µs …   1.33 µs  in 10 ×  75323 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:134 ("version_vector - includes (5 agents)") ok
time (mean ± σ)         range (min … max) 
 159.46 ns ±   0.68 ns   158.64 ns … 160.55 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:153 ("version_vector - concurrent (5 agents)") ok
time (mean ± σ)         range (min … max) 
 133.88 ns ±   0.77 ns   132.66 ns … 134.79 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:170 ("version_vector - from_frontier (10 ops)") ok
time (mean ± σ)         range (min … max) 
 603.31 ns ±   1.27 ns   600.92 ns … 605.04 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:186 ("version_vector - from_frontier (100 ops, 5 agents)") ok
time (mean ± σ)         range (min … max) 
   5.02 µs ±  19.90 ns     5.01 µs …   5.08 µs  in 10 ×  19931 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:206 ("version_vector - to_frontier (5 agents)") ok
time (mean ± σ)         range (min … max) 
 214.04 ns ±   0.78 ns   212.60 ns … 215.06 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:230 ("version_vector - roundtrip (5 agents)") ok
time (mean ± σ)         range (min … max) 
   5.29 µs ±  40.78 ns     5.25 µs …   5.38 µs  in 10 ×  18999 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:251 ("version_vector - agents (5 agents)") ok
time (mean ± σ)         range (min … max) 
  77.52 ns ±   0.89 ns    76.47 ns …  78.33 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:266 ("version_vector - length (20 agents)") ok
time (mean ± σ)         range (min … max) 
  13.57 ns ±   0.71 ns    12.96 ns …  14.74 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:20 ("bench: cache invalidate + position query (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 191.34 µs ± 984.73 ns   189.66 µs … 192.56 µs  in 10 ×    485 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:31 ("bench: cache invalidate + position query (5000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.09 ms ±  88.70 µs     2.93 ms …   3.21 ms  in 10 ×     33 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:41 ("bench: cache invalidate + position query (10000 chars)") ok
time (mean ± σ)         range (min … max) 
   9.53 ms ± 311.37 µs     9.11 ms …  10.13 ms  in 10 ×     11 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:57 ("bench: 10 remote inserts + queries (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
   3.61 ms ± 121.69 µs     3.45 ms …   3.81 ms  in 10 ×     27 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:84 ("bench: 10 remote inserts + queries (5000-char doc)") ok
time (mean ± σ)         range (min … max) 
  31.89 ms ± 863.97 µs    30.85 ms …  33.39 ms  in 10 ×      4 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:113 ("bench: warm cache position query (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 101.73 ns ±   0.65 ns   101.03 ns … 102.97 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:120 ("bench: warm cache position query (10000 chars)") ok
time (mean ± σ)         range (min … max) 
 100.53 ns ±   0.21 ns   100.18 ns … 100.79 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/fugue/tree_position_benchmark.mbt:20 ("bench: lv_to_position middle of 10K tree") ok
time (mean ± σ)         range (min … max) 
 576.03 µs ±  38.88 µs   552.53 µs … 682.65 µs  in 10 ×    180 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 166.36 µs ±   1.21 µs   164.98 µs … 168.50 µs  in 10 ×    603 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:26 ("jump - concurrent insert into 1K doc") ok
time (mean ± σ)         range (min … max) 
 161.09 µs ±   1.60 µs   160.14 µs … 165.55 µs  in 10 ×    626 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:58 ("jump - concurrent insert into 10K doc") ok
time (mean ± σ)         range (min … max) 
   4.69 ms ± 144.95 µs     4.44 ms …   4.86 ms  in 10 ×     22 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:90 ("jump - degenerate chain remote insert") ok
time (mean ± σ)         range (min … max) 
 163.70 µs ±   1.15 µs   161.46 µs … 164.91 µs  in 10 ×    606 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  39.88 µs ± 982.28 ns    39.36 µs …  42.62 µs  in 10 ×   2511 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 516.39 µs ±   5.16 µs   508.92 µs … 523.61 µs  in 10 ×    193 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:34 ("oplog - insert and delete mix (100 ops)") ok
time (mean ± σ)         range (min … max) 
  53.31 µs ± 388.94 ns    52.69 µs …  53.67 µs  in 10 ×   1884 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  25.67 µs ± 112.01 ns    25.55 µs …  25.92 µs  in 10 ×   3902 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 127.72 ns ±   0.30 ns   127.23 ns … 128.09 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:97 ("oplog - get_frontier (single agent)") ok
time (mean ± σ)         range (min … max) 
  22.68 ns ±   0.39 ns    22.12 ns …  23.27 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:112 ("oplog - get_frontier (5 agents)") ok
time (mean ± σ)         range (min … max) 
  26.07 ns ±   0.35 ns    25.42 ns …  26.41 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:134 ("oplog - walk_and_collect (100 ops)") ok
time (mean ± σ)         range (min … max) 
   8.41 µs ±  78.36 ns     8.30 µs …   8.53 µs  in 10 ×  11272 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  17.12 µs ± 141.25 ns    16.93 µs …  17.35 µs  in 10 ×   5786 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:177 ("oplog - diff_and_collect (advance 20)") ok
time (mean ± σ)         range (min … max) 
   5.42 µs ± 480.38 ns     5.09 µs …   6.35 µs  in 10 ×  19433 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   7.44 µs ±  16.45 ns     7.42 µs …   7.46 µs  in 10 ×  14022 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 230.51 µs ±   1.69 µs   228.25 µs … 232.81 µs  in 10 ×    438 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:249 ("oplog - random position inserts (100 ops)") ok
time (mean ± σ)         range (min … max) 
  41.18 µs ± 843.11 ns    40.50 µs …  42.94 µs  in 10 ×   2479 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 177.94 ms ±  26.94 ms   133.43 ms … 209.97 ms  in 10 ×      1 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:287 ("oplog - diff_and_collect (100000 ops advance)") ok
time (mean ± σ)         range (min … max) 
  63.26 ms ±  20.86 ms    41.99 ms … 101.13 ms  in 10 ×      1 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:10 ("text - insert append (100 chars)") ok
time (mean ± σ)         range (min … max) 
  98.24 µs ± 468.00 ns    97.45 µs …  98.97 µs  in 10 ×    889 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.40 ms ±  33.85 µs     1.35 ms …   1.45 ms  in 10 ×     73 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 171.46 µs ± 465.61 ns   170.75 µs … 172.15 µs  in 10 ×    582 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:51 ("text - delete (100 deletes from 100-char doc)") ok
time (mean ± σ)         range (min … max) 
 246.57 µs ± 944.62 ns   245.22 µs … 248.05 µs  in 10 ×    406 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  14.69 µs ± 108.62 ns    14.58 µs …  14.95 µs  in 10 ×   6593 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 152.02 µs ± 690.34 ns   151.39 µs … 153.48 µs  in 10 ×    670 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
  13.88 ns ±   0.47 ns    13.48 ns …  14.58 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:113 ("text - sync export_all (100 ops)") ok
time (mean ± σ)         range (min … max) 
 106.74 ns ±   0.38 ns   106.17 ns … 107.25 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:126 ("text - sync export_all (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 105.23 ns ±   0.38 ns   104.55 ns … 105.83 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:139 ("text - sync export_since (50-op delta, 1000-op base)") ok
time (mean ± σ)         range (min … max) 
  36.10 µs ± 245.68 ns    35.63 µs …  36.40 µs  in 10 ×   2755 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  47.65 µs ± 656.43 ns    47.04 µs …  48.94 µs  in 10 ×   2124 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 629.26 µs ±   9.97 µs   619.07 µs … 651.01 µs  in 10 ×    162 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:186 ("text - bidirectional sync (2 peers, 50 ops each)") ok
time (mean ± σ)         range (min … max) 
 101.35 µs ± 776.24 ns   100.47 µs … 102.94 µs  in 10 ×    995 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:216 ("text - checkout (midpoint of 100-op doc)") ok
time (mean ± σ)         range (min … max) 
  13.45 µs ± 122.00 ns    13.26 µs …  13.63 µs  in 10 ×   7325 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 155.87 µs ± 944.63 ns   154.61 µs … 157.18 µs  in 10 ×    647 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:256 ("text - undo record_insert (100 ops, 1 group)") ok
time (mean ± σ)         range (min … max) 
   2.02 µs ±   4.47 ns     2.01 µs …   2.03 µs  in 10 ×  49639 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:269 ("text - undo record_insert (100 ops, 100 groups)") ok
time (mean ± σ)         range (min … max) 
   2.44 µs ±  17.82 ns     2.41 µs …   2.46 µs  in 10 ×  41117 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  30.25 µs ± 340.38 ns    29.77 µs …  30.84 µs  in 10 ×   3304 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 499.03 µs ±   1.78 µs   496.13 µs … 500.97 µs  in 10 ×    200 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:309 ("text - undo undo+redo roundtrip (10-op group)") ok
time (mean ± σ)         range (min … max) 
  33.61 µs ± 125.66 ns    33.48 µs …  33.90 µs  in 10 ×   2990 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:324 ("text - undo 10 undo+redo cycles (10-op group)") ok
time (mean ± σ)         range (min … max) 
 294.03 µs ±   1.70 µs   291.95 µs … 296.26 µs  in 10 ×    339 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.46 ms ±  28.69 µs     1.40 ms …   1.50 ms  in 10 ×     67 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.53 ms ±  37.29 µs     3.45 ms …   3.59 ms  in 10 ×     29 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:52 ("cache - jump to pos 0 every 10 chars (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.33 ms ±  44.97 µs     2.25 ms …   2.37 ms  in 10 ×     43 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:71 ("cache - jump to middle every 10 chars (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.96 ms ±  37.30 µs     2.88 ms …   3.01 ms  in 10 ×     35 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:94 ("cache - single non-seq insert on 1000-char doc") ok
time (mean ± σ)         range (min … max) 
   7.80 µs ± 975.72 ns     6.63 µs …  10.05 µs  in 10 ×  15092 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:108 ("cache - single non-seq insert on 5000-char doc") ok
time (mean ± σ)         range (min … max) 
   7.83 µs ±   1.62 µs     6.34 µs …  10.57 µs  in 10 ×  14154 runs
Total tests: 105, passed: 105, failed: 0.

PR branch:

Registry index updated successfully
Symbols updated successfully
Downloading dowdiness/alga@0.3.0
Using cached dowdiness/rle@0.2.0
Downloading dowdiness/btree@0.1.0
Downloading dowdiness/order-tree@0.1.0
Downloading moonbitlang/quickcheck@0.11.2
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:21 ("merge - concurrent edits (2 agents x 10)") ok
time (mean ± σ)         range (min … max) 
  18.90 µs ± 635.65 ns    18.43 µs …  20.47 µs  in 10 ×   5199 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:59 ("merge - concurrent edits (2 agents x 50)") ok
time (mean ± σ)         range (min … max) 
  94.40 µs ± 325.50 ns    93.85 µs …  94.77 µs  in 10 ×   1056 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:97 ("merge - concurrent edits (2 agents x 200)") ok
time (mean ± σ)         range (min … max) 
 450.00 µs ±   4.97 µs   443.51 µs … 456.97 µs  in 10 ×    222 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:135 ("merge - many agents (5 agents x 20)") ok
time (mean ± σ)         range (min … max) 
 120.31 µs ±   1.26 µs   118.75 µs … 122.73 µs  in 10 ×    826 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:184 ("merge - with deletes (50 inserts, 25 deletes)") ok
time (mean ± σ)         range (min … max) 
  88.25 µs ± 825.82 ns    87.36 µs …  89.60 µs  in 10 ×   1138 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:230 ("merge - graph_diff advance (20 ops)") ok
time (mean ± σ)         range (min … max) 
  61.34 µs ± 259.45 ns    60.99 µs …  61.66 µs  in 10 ×   1625 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:303 ("merge - repeated small (10 iterations x 5 ops)") ok
time (mean ± σ)         range (min … max) 
  97.59 µs ± 436.94 ns    96.86 µs …  98.56 µs  in 10 ×   1023 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:341 ("merge - retreat concurrent deletes (500 items, 50 deletes)") ok
time (mean ± σ)         range (min … max) 
 212.99 µs ±   1.33 µs   211.64 µs … 215.07 µs  in 10 ×    469 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_merge_benchmark.mbt:408 ("merge - context apply operations (50 ops)") ok
time (mean ± σ)         range (min … max) 
  41.33 µs ±  21.44 µs    28.07 µs …  80.98 µs  in 10 ×   2589 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   3.80 µs ±  47.39 ns     3.74 µs …   3.88 µs  in 10 ×  25988 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  26.31 µs ± 171.08 ns    26.08 µs …  26.69 µs  in 10 ×   3848 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 354.45 µs ±   2.47 µs   350.14 µs … 357.42 µs  in 10 ×    280 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
  12.20 µs ±   4.98 µs     8.71 µs …  24.13 µs  in 10 ×   8737 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
 107.39 µs ±  65.46 µs    58.45 µs … 242.68 µs  in 10 ×   1054 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  36.66 µs ± 379.38 ns    36.23 µs …  37.42 µs  in 10 ×   2736 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  36.85 µs ± 267.57 ns    36.56 µs …  37.27 µs  in 10 ×   2680 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:176 ("branch - repeated advance steady-state (10 iterations)") ok
time (mean ± σ)         range (min … max) 
  26.89 µs ± 554.02 ns    26.18 µs …  27.98 µs  in 10 ×   3757 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:220 ("branch - repeated advance with oplog mutations (10 iterations)") ok
time (mean ± σ)         range (min … max) 
   6.96 ms ±   3.39 ms     2.65 ms …  12.64 ms  in 10 ×     64 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:246 ("branch - to_text (100 chars)") ok
time (mean ± σ)         range (min … max) 
  11.91 µs ±  83.43 ns    11.79 µs …  12.04 µs  in 10 ×   8070 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 123.17 µs ± 506.36 ns   122.38 µs … 123.82 µs  in 10 ×    829 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:285 ("branch - single advance (1 new op)") ok
time (mean ± σ)         range (min … max) 
   4.03 µs ± 369.09 ns     3.81 µs …   4.93 µs  in 10 ×  25827 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:311 ("branch - single advance (50 new ops)") ok
time (mean ± σ)         range (min … max) 
  50.06 µs ±  30.33 µs    31.21 µs … 122.47 µs  in 10 ×   2012 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  21.42 ms ±   7.20 ms     9.78 ms …  30.21 ms  in 10 ×     21 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  14.02 µs ±   4.29 µs    12.27 µs …  26.09 µs  in 10 ×   7068 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 646.92 ns ±   6.51 ns   638.33 ns … 656.42 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:22 ("walker - linear history (100 ops)") ok
time (mean ± σ)         range (min … max) 
   4.80 µs ±   6.04 ns     4.79 µs …   4.81 µs  in 10 ×  20738 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:38 ("walker - linear history (1000 ops)") ok
time (mean ± σ)         range (min … max) 
  46.17 µs ± 652.04 ns    45.26 µs …  47.47 µs  in 10 ×   2214 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:54 ("walker - concurrent branches (2 agents x 50)") ok
time (mean ± σ)         range (min … max) 
   6.15 µs ±  44.02 ns     6.07 µs …   6.20 µs  in 10 ×  16150 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:79 ("walker - concurrent branches (5 agents x 20)") ok
time (mean ± σ)         range (min … max) 
   6.09 µs ±  39.87 ns     6.04 µs …   6.15 µs  in 10 ×  16367 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:99 ("walker - diamond pattern (50 diamonds)") ok
time (mean ± σ)         range (min … max) 
   8.67 µs ±  26.80 ns     8.65 µs …   8.74 µs  in 10 ×  11713 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:121 ("walker - diff advance only (10 new ops)") ok
time (mean ± σ)         range (min … max) 
   3.44 µs ±  10.57 ns     3.42 µs …   3.45 µs  in 10 ×  29000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:145 ("walker - diff with concurrent branches") ok
time (mean ± σ)         range (min … max) 
   5.67 µs ±  19.86 ns     5.65 µs …   5.70 µs  in 10 ×  17672 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 469.08 µs ±   1.75 µs   465.95 µs … 471.62 µs  in 10 ×    213 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:196 ("walker - linear history (100000 ops)") ok
time (mean ± σ)         range (min … max) 
   8.53 ms ± 256.58 µs     8.13 ms …   8.81 ms  in 10 ×     12 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:213 ("walker - concurrent branches (100000 ops, 5 agents)") ok
time (mean ± σ)         range (min … max) 
  29.48 ms ±   3.11 ms    26.48 ms …  35.86 ms  in 10 ×      3 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:6 ("version_vector - create (1 agent)") ok
time (mean ± σ)         range (min … max) 
  52.85 ns ±   0.54 ns    51.90 ns …  53.43 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:15 ("version_vector - create (5 agents)") ok
time (mean ± σ)         range (min … max) 
 148.92 ns ±   0.45 ns   148.37 ns … 149.72 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:29 ("version_vector - create (20 agents)") ok
time (mean ± σ)         range (min … max) 
   1.16 µs ±   4.76 ns     1.15 µs …   1.16 µs  in 10 ×  86563 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:42 ("version_vector - compare equal (5 agents)") ok
time (mean ± σ)         range (min … max) 
 187.58 ns ±   0.72 ns   186.07 ns … 188.32 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:63 ("version_vector - compare <= (5 agents)") ok
time (mean ± σ)         range (min … max) 
 133.02 ns ±   0.84 ns   131.76 ns … 134.12 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:84 ("version_vector - compare <= (20 agents)") ok
time (mean ± σ)         range (min … max) 
 529.95 ns ±   1.04 ns   528.70 ns … 531.42 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:100 ("version_vector - merge (5 agents)") ok
time (mean ± σ)         range (min … max) 
 218.53 ns ±   0.74 ns   217.58 ns … 220.08 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:118 ("version_vector - merge (20 agents)") ok
time (mean ± σ)         range (min … max) 
   1.33 µs ±   1.51 ns     1.33 µs …   1.33 µs  in 10 ×  74895 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:134 ("version_vector - includes (5 agents)") ok
time (mean ± σ)         range (min … max) 
 159.51 ns ±   0.98 ns   158.26 ns … 160.79 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:153 ("version_vector - concurrent (5 agents)") ok
time (mean ± σ)         range (min … max) 
 134.13 ns ±   0.91 ns   132.98 ns … 135.52 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:170 ("version_vector - from_frontier (10 ops)") ok
time (mean ± σ)         range (min … max) 
 586.06 ns ±   1.19 ns   584.58 ns … 588.64 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:186 ("version_vector - from_frontier (100 ops, 5 agents)") ok
time (mean ± σ)         range (min … max) 
   4.99 µs ±   2.69 ns     4.99 µs …   5.00 µs  in 10 ×  20070 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:206 ("version_vector - to_frontier (5 agents)") ok
time (mean ± σ)         range (min … max) 
 215.48 ns ±   0.68 ns   214.11 ns … 216.21 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:230 ("version_vector - roundtrip (5 agents)") ok
time (mean ± σ)         range (min … max) 
   5.26 µs ±   6.01 ns     5.25 µs …   5.27 µs  in 10 ×  18971 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:251 ("version_vector - agents (5 agents)") ok
time (mean ± σ)         range (min … max) 
  76.54 ns ±   0.51 ns    75.86 ns …  77.05 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/version_vector_benchmark.mbt:266 ("version_vector - length (20 agents)") ok
time (mean ± σ)         range (min … max) 
  13.74 ns ±   0.41 ns    13.38 ns …  14.41 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:20 ("bench: cache invalidate + position query (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 190.62 µs ±   2.37 µs   188.28 µs … 194.63 µs  in 10 ×    485 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:31 ("bench: cache invalidate + position query (5000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.89 ms ±  16.70 µs     2.87 ms …   2.92 ms  in 10 ×     34 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:41 ("bench: cache invalidate + position query (10000 chars)") ok
time (mean ± σ)         range (min … max) 
   9.33 ms ± 220.59 µs     9.06 ms …   9.75 ms  in 10 ×     11 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:57 ("bench: 10 remote inserts + queries (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
   3.75 ms ± 190.87 µs     3.47 ms …   3.92 ms  in 10 ×     27 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:84 ("bench: 10 remote inserts + queries (5000-char doc)") ok
time (mean ± σ)         range (min … max) 
  34.79 ms ±   1.17 ms    32.81 ms …  36.59 ms  in 10 ×      3 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:113 ("bench: warm cache position query (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 101.96 ns ±   0.64 ns   101.45 ns … 103.59 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/document/document_benchmark.mbt:120 ("bench: warm cache position query (10000 chars)") ok
time (mean ± σ)         range (min … max) 
 102.01 ns ±   0.33 ns   101.46 ns … 102.57 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/fugue/tree_position_benchmark.mbt:20 ("bench: lv_to_position middle of 10K tree") ok
time (mean ± σ)         range (min … max) 
 570.42 µs ±   2.84 µs   566.47 µs … 575.24 µs  in 10 ×    179 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 167.20 µs ±   1.25 µs   165.54 µs … 169.46 µs  in 10 ×    595 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:26 ("jump - concurrent insert into 1K doc") ok
time (mean ± σ)         range (min … max) 
 161.54 µs ±   1.07 µs   159.95 µs … 162.99 µs  in 10 ×    612 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:58 ("jump - concurrent insert into 10K doc") ok
time (mean ± σ)         range (min … max) 
   4.56 ms ± 113.60 µs     4.42 ms …   4.78 ms  in 10 ×     22 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:90 ("jump - degenerate chain remote insert") ok
time (mean ± σ)         range (min … max) 
 158.92 µs ±   1.35 µs   156.71 µs … 161.30 µs  in 10 ×    597 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  37.02 µs ± 933.52 ns    36.43 µs …  39.55 µs  in 10 ×   2645 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 480.54 µs ±   3.10 µs   476.27 µs … 485.67 µs  in 10 ×    206 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:34 ("oplog - insert and delete mix (100 ops)") ok
time (mean ± σ)         range (min … max) 
  53.82 µs ± 229.51 ns    53.43 µs …  54.07 µs  in 10 ×   1865 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  25.49 µs ±  97.34 ns    25.37 µs …  25.70 µs  in 10 ×   3898 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 129.35 ns ±   0.87 ns   128.30 ns … 130.69 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:97 ("oplog - get_frontier (single agent)") ok
time (mean ± σ)         range (min … max) 
  22.67 ns ±   0.36 ns    22.05 ns …  23.11 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:112 ("oplog - get_frontier (5 agents)") ok
time (mean ± σ)         range (min … max) 
  25.94 ns ±   0.38 ns    25.32 ns …  26.57 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:134 ("oplog - walk_and_collect (100 ops)") ok
time (mean ± σ)         range (min … max) 
   8.53 µs ±  64.37 ns     8.47 µs …   8.65 µs  in 10 ×  11401 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  17.43 µs ± 120.13 ns    17.30 µs …  17.64 µs  in 10 ×   5717 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:177 ("oplog - diff_and_collect (advance 20)") ok
time (mean ± σ)         range (min … max) 
   5.19 µs ±   8.60 ns     5.17 µs …   5.20 µs  in 10 ×  19186 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   7.55 µs ±  28.66 ns     7.51 µs …   7.59 µs  in 10 ×  13951 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 216.54 µs ± 805.56 ns   214.88 µs … 217.68 µs  in 10 ×    467 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:249 ("oplog - random position inserts (100 ops)") ok
time (mean ± σ)         range (min … max) 
  36.78 µs ± 118.67 ns    36.47 µs …  36.88 µs  in 10 ×   2749 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 165.38 ms ±  24.21 ms   126.67 ms … 199.33 ms  in 10 ×      1 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:287 ("oplog - diff_and_collect (100000 ops advance)") ok
time (mean ± σ)         range (min … max) 
  66.21 ms ±  18.97 ms    43.50 ms …  88.80 ms  in 10 ×      2 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:10 ("text - insert append (100 chars)") ok
time (mean ± σ)         range (min … max) 
 136.23 µs ±  66.06 µs    99.02 µs … 265.82 µs  in 10 ×    356 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.73 ms ± 528.31 µs     1.35 ms …   2.80 ms  in 10 ×     65 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 176.91 µs ± 693.26 ns   175.83 µs … 177.89 µs  in 10 ×    564 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:51 ("text - delete (100 deletes from 100-char doc)") ok
time (mean ± σ)         range (min … max) 
 248.26 µs ±   1.06 µs   246.82 µs … 250.02 µs  in 10 ×    401 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  14.38 µs ±  51.23 ns    14.32 µs …  14.49 µs  in 10 ×   6881 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 147.90 µs ± 640.97 ns   146.51 µs … 148.58 µs  in 10 ×    676 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
  17.60 ns ±   1.29 ns    15.94 ns …  19.52 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:113 ("text - sync export_all (100 ops)") ok
time (mean ± σ)         range (min … max) 
 111.90 ns ±   0.55 ns   111.14 ns … 112.72 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:126 ("text - sync export_all (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 110.69 ns ±   0.32 ns   110.25 ns … 111.16 ns  in 10 × 100000 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:139 ("text - sync export_since (50-op delta, 1000-op base)") ok
time (mean ± σ)         range (min … max) 
  35.54 µs ± 245.85 ns    35.24 µs …  35.84 µs  in 10 ×   2807 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  46.22 µs ± 286.45 ns    45.89 µs …  46.72 µs  in 10 ×   2155 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 666.39 µs ± 155.63 µs   586.18 µs …   1.03 ms  in 10 ×    169 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:186 ("text - bidirectional sync (2 peers, 50 ops each)") ok
time (mean ± σ)         range (min … max) 
  97.96 µs ± 833.51 ns    96.57 µs …  98.91 µs  in 10 ×   1014 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:216 ("text - checkout (midpoint of 100-op doc)") ok
time (mean ± σ)         range (min … max) 
  13.50 µs ±  84.02 ns    13.42 µs …  13.69 µs  in 10 ×   7435 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 155.68 µs ± 552.28 ns   155.14 µs … 156.59 µs  in 10 ×    644 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:256 ("text - undo record_insert (100 ops, 1 group)") ok
time (mean ± σ)         range (min … max) 
   2.11 µs ±  58.92 ns     2.02 µs …   2.16 µs  in 10 ×  49578 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:269 ("text - undo record_insert (100 ops, 100 groups)") ok
time (mean ± σ)         range (min … max) 
   2.44 µs ±  34.64 ns     2.41 µs …   2.53 µs  in 10 ×  39301 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  30.09 µs ± 287.16 ns    29.61 µs …  30.45 µs  in 10 ×   3339 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 487.02 µs ±   3.08 µs   483.93 µs … 494.27 µs  in 10 ×    210 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:309 ("text - undo undo+redo roundtrip (10-op group)") ok
time (mean ± σ)         range (min … max) 
  33.84 µs ± 259.13 ns    33.51 µs …  34.21 µs  in 10 ×   2967 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:324 ("text - undo 10 undo+redo cycles (10-op group)") ok
time (mean ± σ)         range (min … max) 
 293.04 µs ±   2.64 µs   289.35 µs … 297.35 µs  in 10 ×    331 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.48 ms ±  43.99 µs     1.40 ms …   1.53 ms  in 10 ×     65 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.43 ms ±  67.01 µs     3.32 ms …   3.51 ms  in 10 ×     29 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:52 ("cache - jump to pos 0 every 10 chars (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.19 ms ±  25.69 µs     2.16 ms …   2.23 ms  in 10 ×     45 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:71 ("cache - jump to middle every 10 chars (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.91 ms ±  19.69 µs     2.88 ms …   2.94 ms  in 10 ×     35 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:94 ("cache - single non-seq insert on 1000-char doc") ok
time (mean ± σ)         range (min … max) 
   7.69 µs ± 936.80 ns     6.64 µs …   9.94 µs  in 10 ×  14697 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:108 ("cache - single non-seq insert on 5000-char doc") ok
time (mean ± σ)         range (min … max) 
   7.74 µs ±   1.41 µs     6.37 µs …  10.46 µs  in 10 ×  13810 runs
Total tests: 105, passed: 105, failed: 0.

Benchmarks run with --release flag

@dowdiness dowdiness merged commit 44002f2 into main Jun 7, 2026
28 checks passed
@dowdiness dowdiness deleted the ci-docs-batch-557-559 branch June 7, 2026 07:12
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.

Archive or refresh the completed editor protocol plan Harden CI against transient Moon registry clone failures

1 participant