Skip to content

feat(cognition): track workspace files#357

Merged
dowdiness merged 1 commit into
mainfrom
codex/cognition-file-registry
May 26, 2026
Merged

feat(cognition): track workspace files#357
dowdiness merged 1 commit into
mainfrom
codex/cognition-file-registry

Conversation

@dowdiness
Copy link
Copy Markdown
Owner

Summary

  • add a workspace file registry to CognitionStore
  • expose known_files() and remove_file(path) for explicit file deletion
  • recompute repo/query context from active files only and document deletion semantics

Validation

  • moon update && moon check
  • moon test lib/cognition
  • moon test
  • moon check --deny-warn
  • make check
  • moon test --release
  • moon info

Note: make fmt-check is currently blocked by an unrelated MoonBit tool migration check that wants existing moon.mod.json files converted to moon.mod.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

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 35 minutes and 14 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: d0c4a1c3-2143-45c4-b5da-d84645f0eec7

📥 Commits

Reviewing files that changed from the base of the PR and between b565c42 and 105c6ac.

📒 Files selected for processing (4)
  • docs/architecture/cognition-runtime.md
  • lib/cognition/cognition_test.mbt
  • lib/cognition/pkg.generated.mbti
  • lib/cognition/store.mbt
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/cognition-file-registry

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 105c6ac Commit Preview URL

Branch Preview URL
May 26 2026, 03:42 AM

@github-actions
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.08 µs ± 728.18 ns    65.24 µs …  67.87 µs  in 10 ×   1474 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   3.05 µs ±   8.41 ns     3.05 µs …   3.07 µs  in 10 ×  35798 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
   1.05 ms ±   9.74 µs     1.03 ms …   1.06 ms  in 10 ×     88 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  29.97 µs ±   2.26 µs    28.66 µs …  34.30 µs  in 10 ×   3509 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  16.38 ms ± 713.86 µs    15.90 ms …  18.23 ms  in 10 ×      7 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 536.12 µs ±  30.02 µs   509.99 µs … 616.95 µs  in 10 ×    197 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  56.85 µs ± 543.78 ns    56.32 µs …  57.93 µs  in 10 ×   1716 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  51.44 µs ±  98.16 ns    51.31 µs …  51.61 µs  in 10 ×   1933 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 703.32 µs ±   8.59 µs   698.01 µs … 726.18 µs  in 10 ×    144 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 691.10 µs ±   9.65 µs   680.19 µs … 703.69 µs  in 10 ×    145 runs
Total tests: 10, passed: 10, failed: 0. [wasm-gc]
node count: 402
node count: 802
node count: 2002
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:24 ("viewnode serialization (100 defs)") ok
time (mean ± σ)         range (min … max) 
   1.81 ms ±  18.89 µs     1.78 ms …   1.83 ms  in 10 ×     55 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   4.35 ms ±  28.89 µs     4.31 ms …   4.39 ms  in 10 ×     24 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  20.49 ms ±   1.15 ms    18.70 ms …  22.05 ms  in 10 ×      6 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.37 ms ±  23.12 µs     1.35 ms …   1.43 ms  in 10 ×     71 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
 961.74 µs ±  59.71 µs   873.65 µs …   1.05 ms  in 10 ×    102 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.85 ms ± 102.97 µs     3.71 ms …   4.04 ms  in 10 ×     27 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  26.93 ms ± 296.16 µs    26.54 ms …  27.40 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) 
  72.25 ms ±   7.66 ms    67.67 ms …  91.84 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) 
 760.32 µs ± 144.64 µs   557.26 µs … 951.72 µs  in 10 ×    190 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.93 ms ±  54.46 µs     1.85 ms …   2.02 ms  in 10 ×     55 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  14.59 ms ± 117.35 µs    14.45 ms …  14.78 ms  in 10 ×      7 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  46.42 ms ±   4.37 ms    43.45 ms …  55.97 ms  in 10 ×      2 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   4.15 µs ±  52.87 ns     4.10 µs …   4.25 µs  in 10 ×  23763 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  15.33 µs ± 162.86 ns    15.21 µs …  15.78 µs  in 10 ×   6297 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
  66.85 µs ±   1.33 µs    66.27 µs …  70.61 µs  in 10 ×   1486 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 262.22 µs ±   3.70 µs   258.59 µs … 269.96 µs  in 10 ×    385 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
   7.55 µs ±  44.11 ns     7.51 µs …   7.62 µs  in 10 ×  13385 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
 118.27 µs ± 482.09 ns   117.77 µs … 119.07 µs  in 10 ×    841 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 452.70 µs ±   4.53 µs   443.82 µs … 456.85 µs  in 10 ×    221 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  26.31 µs ± 754.86 ns    25.75 µs …  28.11 µs  in 10 ×   3866 runs
Total tests: 20, passed: 20, failed: 0. [js]

PR branch:

Registry index cloned successfully
Symbols updated successfully
Downloading dowdiness/rle@0.2.0
Downloading moonbitlang/async@0.16.8
Downloading moonbitlang/quickcheck@0.11.2
Downloading moonbitlang/x@0.4.38
[dowdiness/btree] bench btree_benchmark.mbt:79 ("bench: build via inserts (100)") ok
time (mean ± σ)         range (min … max) 
  65.25 µs ±   1.30 µs    64.03 µs …  67.81 µs  in 10 ×   1495 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   3.04 µs ±  15.85 ns     3.02 µs …   3.07 µs  in 10 ×  35713 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
   1.05 ms ±  12.68 µs     1.03 ms …   1.06 ms  in 10 ×     88 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  30.31 µs ±  97.12 ns    30.18 µs …  30.44 µs  in 10 ×   3284 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  16.52 ms ± 429.25 µs    15.94 ms …  17.15 ms  in 10 ×      6 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 528.05 µs ±   5.80 µs   521.50 µs … 537.26 µs  in 10 ×    188 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  58.17 µs ± 485.81 ns    57.78 µs …  59.23 µs  in 10 ×   1706 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  53.15 µs ±  78.31 ns    53.05 µs …  53.27 µs  in 10 ×   1874 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 721.39 µs ±   2.73 µs   718.27 µs … 726.01 µs  in 10 ×    138 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 713.50 µs ±   9.96 µs   702.10 µs … 738.13 µs  in 10 ×    141 runs
Total tests: 10, passed: 10, failed: 0. [wasm-gc]
node count: 402
node count: 802
node count: 2002
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:24 ("viewnode serialization (100 defs)") ok
time (mean ± σ)         range (min … max) 
   1.86 ms ±  14.20 µs     1.84 ms …   1.88 ms  in 10 ×     54 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   4.59 ms ± 172.78 µs     4.41 ms …   4.98 ms  in 10 ×     22 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  21.22 ms ±   1.42 ms    19.70 ms …  23.31 ms  in 10 ×      5 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.40 ms ±  53.92 µs     1.36 ms …   1.51 ms  in 10 ×     73 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
 978.30 µs ±  74.88 µs   874.12 µs …   1.10 ms  in 10 ×    102 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.76 ms ±  56.74 µs     3.71 ms …   3.90 ms  in 10 ×     28 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  27.15 ms ± 152.30 µs    26.97 ms …  27.42 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) 
  74.51 ms ±   5.57 ms    68.70 ms …  82.66 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) 
 788.96 µs ± 167.87 µs   542.23 µs …   1.04 ms  in 10 ×    193 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.97 ms ± 126.16 µs     1.83 ms …   2.16 ms  in 10 ×     52 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  14.42 ms ± 122.34 µs    14.26 ms …  14.68 ms  in 10 ×      7 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  46.01 ms ±   3.86 ms    43.20 ms …  54.05 ms  in 10 ×      2 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   4.05 µs ±  32.93 ns     4.00 µs …   4.12 µs  in 10 ×  24526 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  15.84 µs ± 359.02 ns    15.48 µs …  16.50 µs  in 10 ×   6326 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
  70.40 µs ±   1.24 µs    69.68 µs …  73.88 µs  in 10 ×   1426 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 272.01 µs ±   3.03 µs   268.55 µs … 279.27 µs  in 10 ×    372 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
   6.89 µs ±  17.44 ns     6.87 µs …   6.91 µs  in 10 ×  14566 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
 119.25 µs ± 649.40 ns   118.66 µs … 120.93 µs  in 10 ×    841 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 449.84 µs ±   4.10 µs   443.53 µs … 455.21 µs  in 10 ×    225 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  25.07 µs ±  62.15 ns    24.99 µs …  25.18 µs  in 10 ×   3981 runs
Total tests: 20, passed: 20, failed: 0. [js]

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) 
  21.94 µs ± 698.34 ns    21.32 µs …  23.58 µs  in 10 ×   4551 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) 
 111.69 µs ±   1.06 µs   110.73 µs … 113.63 µs  in 10 ×    886 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) 
 516.10 µs ±   3.79 µs   510.87 µs … 520.97 µs  in 10 ×    194 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) 
 146.53 µs ± 944.67 ns   145.07 µs … 147.61 µs  in 10 ×    689 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) 
 105.15 µs ± 727.51 ns   104.30 µs … 106.25 µs  in 10 ×    929 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) 
  69.28 µs ± 126.48 ns    69.05 µs …  69.43 µs  in 10 ×   1460 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) 
 110.72 µs ±   1.22 µs   108.82 µs … 111.80 µs  in 10 ×    889 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.52 µs ± 952.52 ns   210.79 µs … 213.96 µs  in 10 ×    470 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) 
  40.32 µs ±  20.39 µs    26.28 µs …  81.17 µs  in 10 ×   2355 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   4.16 µs ±  29.58 ns     4.12 µs …   4.20 µs  in 10 ×  23824 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  28.93 µs ± 256.10 ns    28.45 µs …  29.36 µs  in 10 ×   3493 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 379.22 µs ±   1.67 µs   376.43 µs … 381.61 µs  in 10 ×    264 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
  11.56 µs ±   3.96 µs     9.36 µs …  20.42 µs  in 10 ×   8116 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
  80.90 µs ±  39.70 µs    57.85 µs … 179.28 µs  in 10 ×   1198 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  37.52 µs ± 131.47 ns    37.35 µs …  37.70 µs  in 10 ×   2656 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  38.30 µs ± 164.40 ns    38.08 µs …  38.53 µs  in 10 ×   2615 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) 
  27.32 µs ± 706.42 ns    26.75 µs …  28.91 µs  in 10 ×   3580 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.33 ms ±   3.78 ms     2.80 ms …  13.36 ms  in 10 ×     65 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:246 ("branch - to_text (100 chars)") ok
time (mean ± σ)         range (min … max) 
  11.73 µs ±  55.52 ns    11.66 µs …  11.81 µs  in 10 ×   8472 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 121.26 µs ± 747.90 ns   120.31 µs … 122.56 µs  in 10 ×    838 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.14 µs ± 273.61 ns     3.93 µs …   4.73 µs  in 10 ×  24749 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.05 µs ±  29.51 µs    31.10 µs … 115.74 µs  in 10 ×   2162 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  16.67 ms ±   7.87 ms     6.68 ms …  31.48 ms  in 10 ×     28 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  19.50 µs ±   9.35 µs    12.67 µs …  37.80 µs  in 10 ×   7269 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 622.86 ns ±   7.01 ns   613.63 ns … 631.87 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.78 µs ±   6.30 ns     4.77 µs …   4.79 µs  in 10 ×  20905 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.01 µs ± 898.79 ns    45.07 µs …  47.67 µs  in 10 ×   2225 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.07 µs ±   8.17 ns     6.06 µs …   6.08 µs  in 10 ×  16475 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.03 µs ±   6.27 ns     6.02 µs …   6.04 µs  in 10 ×  16564 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.29 µs ±  60.74 ns     8.20 µs …   8.40 µs  in 10 ×  11999 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.45 µs ±  13.20 ns     3.43 µs …   3.47 µs  in 10 ×  28865 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.57 µs ±  25.08 ns     5.53 µs …   5.60 µs  in 10 ×  17807 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 466.48 µs ±   2.12 µs   463.29 µs … 468.87 µ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.30 ms ± 198.63 µs     8.08 ms …   8.66 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) 
  30.67 ms ±   3.91 ms    27.18 ms …  36.34 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) 
  58.95 ns ±   0.30 ns    58.32 ns …  59.28 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) 
 277.05 ns ±   4.32 ns   274.94 ns … 289.23 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.34 µs ±   3.50 ns     1.34 µs …   1.35 µs  in 10 ×  74489 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) 
 333.11 ns ±   1.04 ns   331.74 ns … 334.77 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) 
 165.36 ns ±   0.38 ns   165.03 ns … 166.25 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) 
 684.61 ns ±   0.46 ns   683.96 ns … 685.33 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) 
 467.29 ns ±   1.03 ns   466.21 ns … 468.97 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) 
   2.66 µs ±  82.17 ns     2.62 µs …   2.84 µs  in 10 ×  38098 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) 
 242.71 ns ±   1.93 ns   239.68 ns … 245.18 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) 
 171.33 ns ±   0.77 ns   170.38 ns … 172.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) 
 551.94 ns ±   0.61 ns   550.91 ns … 552.81 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.61 µs ±  43.11 ns     4.58 µs …   4.73 µs  in 10 ×  21778 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) 
 261.30 ns ±   0.55 ns   260.65 ns … 262.40 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) 
   4.91 µs ±   7.40 ns     4.90 µs …   4.92 µs  in 10 ×  20302 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.68 ns ±   0.53 ns    75.88 ns …  77.26 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.26 ns ±   0.35 ns    12.90 ns …  13.98 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) 
 193.88 µs ±   2.41 µs   191.21 µs … 197.91 µs  in 10 ×    472 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.98 ms ± 111.39 µs     2.82 ms …   3.13 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.53 ms ± 300.57 µs     9.15 ms …  10.01 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.65 ms ±  69.85 µs     3.55 ms …   3.74 ms  in 10 ×     26 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.82 ms ± 736.85 µs    30.73 ms …  32.87 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) 
 100.78 ns ±   0.38 ns   100.39 ns … 101.57 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) 
 101.06 ns ±   0.52 ns   100.56 ns … 101.92 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) 
 555.43 µs ±   2.36 µs   552.44 µs … 559.64 µs  in 10 ×    182 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 164.47 µs ±   1.03 µs   163.39 µs … 166.27 µs  in 10 ×    604 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) 
 158.23 µs ±   1.41 µs   156.48 µs … 160.98 µs  in 10 ×    634 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.73 ms ± 162.87 µs     4.48 ms …   5.00 ms  in 10 ×     23 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:90 ("jump - degenerate chain remote insert") ok
time (mean ± σ)         range (min … max) 
 159.66 µs ±   1.42 µs   157.52 µs … 161.20 µs  in 10 ×    627 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  41.73 µs ± 919.77 ns    41.19 µs …  44.27 µs  in 10 ×   2359 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 521.28 µs ±   3.32 µs   517.47 µs … 527.60 µs  in 10 ×    192 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) 
  61.95 µs ± 240.19 ns    61.56 µs …  62.27 µs  in 10 ×   1610 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  30.62 µs ±  77.45 ns    30.54 µs …  30.82 µs  in 10 ×   3263 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 127.34 ns ±   0.34 ns   126.86 ns … 127.80 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.43 ns ±   0.28 ns    22.08 ns …  22.86 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.97 ns ±   0.33 ns    25.49 ns …  26.42 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.36 µs ±  47.34 ns     8.31 µs …   8.44 µs  in 10 ×  11747 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  17.04 µs ±  64.45 ns    16.93 µs …  17.15 µs  in 10 ×   5698 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.00 µs ±  22.21 ns     4.98 µs …   5.04 µs  in 10 ×  19992 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   7.45 µs ±  32.76 ns     7.42 µs …   7.53 µs  in 10 ×  14217 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 237.03 µs ± 295.18 ns   236.63 µs … 237.49 µs  in 10 ×    425 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.33 µs ± 110.92 ns    41.14 µs …  41.48 µs  in 10 ×   2425 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 170.47 ms ±  26.72 ms   127.34 ms … 202.78 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) 
  67.66 ms ±  32.17 ms    41.95 ms … 123.83 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) 
 104.60 µs ± 256.60 ns   104.24 µs … 104.94 µs  in 10 ×    834 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.36 ms ±   9.45 µs     1.34 ms …   1.37 ms  in 10 ×     70 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 180.69 µs ±   1.49 µs   179.21 µs … 183.55 µs  in 10 ×    556 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) 
 256.38 µs ± 648.07 ns   255.47 µs … 257.74 µs  in 10 ×    389 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  14.82 µs ± 168.71 ns    14.60 µs …  15.03 µs  in 10 ×   6718 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 152.37 µs ±   1.59 µs   150.94 µs … 155.01 µs  in 10 ×    664 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
  13.63 ns ±   0.38 ns    13.22 ns …  14.31 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.17 ns ±   0.69 ns   105.35 ns … 107.33 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) 
 106.62 ns ±   0.51 ns   105.92 ns … 107.39 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.27 µs ± 561.21 ns    35.80 µs …  37.64 µs  in 10 ×   2709 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  52.14 µs ± 341.37 ns    51.45 µs …  52.60 µs  in 10 ×   1915 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 656.44 µs ±   4.28 µs   652.11 µs … 667.12 µs  in 10 ×    152 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) 
 109.10 µs ± 343.57 ns   108.51 µs … 109.49 µs  in 10 ×    920 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.17 µs ±  88.31 ns    13.07 µs …  13.33 µs  in 10 ×   7504 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 158.08 µs ±   1.44 µs   156.03 µs … 159.99 µ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.04 µs ±  33.01 ns     2.01 µs …   2.12 µs  in 10 ×  49365 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.41 µs ±   6.02 ns     2.40 µs …   2.42 µs  in 10 ×  41484 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  30.91 µs ± 110.83 ns    30.80 µs …  31.16 µs  in 10 ×   3209 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 505.06 µs ±   3.01 µs   501.12 µs … 508.88 µs  in 10 ×    201 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) 
  35.13 µs ± 147.87 ns    34.91 µs …  35.33 µs  in 10 ×   2836 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) 
 296.91 µs ± 940.68 ns   295.40 µs … 298.31 µs  in 10 ×    336 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.38 ms ±   6.50 µs     1.37 ms …   1.38 ms  in 10 ×     71 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.70 ms ± 110.33 µs     3.57 ms …   3.89 ms  in 10 ×     28 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.36 ms ± 112.37 µs     2.27 ms …   2.61 ms  in 10 ×     44 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.99 ms ±  14.07 µs     2.96 ms …   3.01 ms  in 10 ×     34 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) 
   8.08 µs ±   1.43 µs     7.10 µs …  11.54 µs  in 10 ×  16095 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.75 µs ±   1.07 µs     6.52 µs …   9.80 µs  in 10 ×  16317 runs
Total tests: 105, passed: 105, failed: 0.

PR branch:

Registry index updated successfully
Symbols updated successfully
Downloading dowdiness/order-tree@0.1.0
Using cached dowdiness/rle@0.2.0
Downloading dowdiness/alga@0.3.0
Downloading dowdiness/btree@0.1.0
Using cached 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) 
  21.66 µs ± 906.96 ns    20.86 µs …  23.63 µs  in 10 ×   4625 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) 
 112.11 µs ±   1.51 µs   110.41 µs … 113.99 µs  in 10 ×    904 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) 
 515.74 µs ±   6.61 µs   507.54 µs … 524.46 µs  in 10 ×    199 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) 
 141.92 µs ± 581.66 ns   141.00 µs … 142.81 µs  in 10 ×    702 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) 
 106.13 µs ± 561.24 ns   105.18 µs … 106.78 µs  in 10 ×    955 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) 
  70.38 µs ± 264.18 ns    70.03 µs …  70.76 µs  in 10 ×   1404 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) 
 109.49 µs ± 430.61 ns   109.04 µs … 110.48 µs  in 10 ×    918 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.44 µs ±   1.26 µs   210.44 µs … 214.66 µs  in 10 ×    471 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) 
  40.88 µs ±  17.69 µs    26.76 µs …  78.63 µs  in 10 ×   2299 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   4.32 µs ±  60.62 ns     4.24 µs …   4.44 µs  in 10 ×  19052 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  29.70 µs ± 248.02 ns    29.33 µs …  30.07 µs  in 10 ×   3369 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 383.16 µs ±   4.13 µs   379.61 µs … 393.59 µs  in 10 ×    259 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
  11.34 µs ±   3.58 µs     9.32 µs …  19.93 µs  in 10 ×   7533 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
  91.72 µs ±  49.69 µs    57.85 µs … 195.19 µs  in 10 ×   1195 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  37.54 µs ± 213.77 ns    37.25 µs …  37.81 µs  in 10 ×   2649 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  39.41 µs ± 201.12 ns    39.09 µs …  39.73 µs  in 10 ×   2532 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) 
  27.81 µs ±   1.02 µs    26.88 µs …  29.90 µs  in 10 ×   3571 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.20 ms ±   3.61 ms     2.76 ms …  13.12 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.99 µs ± 108.54 ns    11.82 µs …  12.17 µs  in 10 ×   8009 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
 124.57 µs ± 649.98 ns   123.38 µs … 125.47 µs  in 10 ×    814 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.04 µs ± 218.16 ns     3.86 µs …   4.52 µs  in 10 ×  25573 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:311 ("branch - single advance (50 new ops)") ok
time (mean ± σ)         range (min … max) 
  53.26 µs ±  33.84 µs    30.27 µs … 128.21 µs  in 10 ×   2817 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  16.82 ms ±   5.98 ms     8.24 ms …  25.04 ms  in 10 ×     23 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  16.21 µs ±   5.79 µs    12.41 µs …  31.85 µs  in 10 ×   6664 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 629.20 ns ±  12.60 ns   614.05 ns … 655.03 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 ±   5.23 ns     4.84 µs …   4.85 µs  in 10 ×  20661 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.41 µs ± 959.90 ns    44.35 µs …  47.20 µs  in 10 ×   2255 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.06 µs ±  16.93 ns     6.04 µs …   6.09 µs  in 10 ×  16450 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.07 µs ±  14.04 ns     6.06 µs …   6.09 µs  in 10 ×  16370 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.23 µs ±  36.67 ns     8.20 µs …   8.31 µs  in 10 ×  12184 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 ±   5.97 ns     3.43 µs …   3.45 µs  in 10 ×  29072 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:145 ("walker - diff with concurrent branches") ok
time (mean ± σ)         range (min … max) 
   6.58 µs ± 114.26 ns     6.53 µs …   6.90 µs  in 10 ×  15632 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 461.28 µs ± 962.83 ns   459.77 µs … 462.48 µs  in 10 ×    217 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.09 ms ± 223.37 µs     7.81 ms …   8.46 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) 
  31.79 ms ±   3.85 ms    28.03 ms …  39.31 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) 
  58.44 ns ±   0.17 ns    58.05 ns …  58.67 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) 
 279.61 ns ±   0.67 ns   278.69 ns … 280.47 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.35 µs ±   2.78 ns     1.35 µs …   1.35 µs  in 10 ×  74139 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) 
 336.75 ns ±   0.86 ns   335.79 ns … 338.34 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) 
 170.26 ns ±   0.47 ns   169.72 ns … 171.05 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) 
 713.65 ns ±  37.75 ns   689.87 ns … 791.20 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) 
 488.27 ns ±  30.03 ns   469.54 ns … 554.05 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) 
   2.62 µs ±   2.84 ns     2.62 µs …   2.63 µs  in 10 ×  38161 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) 
 242.93 ns ±   1.31 ns   240.43 ns … 244.36 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) 
 191.72 ns ±   2.16 ns   189.98 ns … 197.00 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) 
 563.24 ns ±  13.45 ns   554.42 ns … 588.09 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.58 µs ±   5.97 ns     4.58 µs …   4.60 µs  in 10 ×  21861 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) 
 261.37 ns ±   1.13 ns   260.15 ns … 263.46 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) 
   4.91 µs ±   3.37 ns     4.91 µs …   4.92 µs  in 10 ×  20267 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.48 ns ±   1.61 ns    76.14 ns …  81.66 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.18 ns ±   0.31 ns    12.88 ns …  13.73 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) 
 188.35 µs ± 770.81 ns   187.05 µs … 189.74 µs  in 10 ×    483 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.81 ms ±  68.83 µs     2.75 ms …   2.97 ms  in 10 ×     36 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.12 ms ± 245.61 µs     8.93 ms …   9.61 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.54 ms ±  40.20 µs     3.48 ms …   3.60 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.78 ms ± 666.35 µs    31.08 ms …  32.93 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.15 ns ±   0.27 ns   100.89 ns … 101.77 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) 
 101.96 ns ±   0.18 ns   101.63 ns … 102.28 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) 
 555.37 µs ±   2.30 µs   552.03 µs … 558.55 µs  in 10 ×    182 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 165.35 µs ± 918.63 ns   164.33 µs … 166.64 µ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) 
 160.23 µs ± 412.91 ns   159.52 µs … 160.87 µs  in 10 ×    621 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.67 ms ± 110.18 µs     4.54 ms …   4.85 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) 
 162.00 µs ± 428.69 ns   161.36 µs … 162.69 µs  in 10 ×    619 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  41.83 µs ±   1.14 µs    41.29 µs …  45.04 µs  in 10 ×   2210 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 522.19 µs ±   1.43 µs   520.01 µs … 523.93 µs  in 10 ×    192 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) 
  63.10 µs ± 608.15 ns    62.42 µs …  64.66 µs  in 10 ×   1598 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  29.73 µs ± 110.67 ns    29.64 µs …  29.99 µs  in 10 ×   3329 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 127.96 ns ±   0.58 ns   127.31 ns … 129.13 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.84 ns ±   0.30 ns    22.30 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) 
  25.97 ns ±   0.23 ns    25.46 ns …  26.16 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.42 µs ±  81.49 ns     8.32 µs …   8.62 µs  in 10 ×  11462 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  17.11 µs ± 125.05 ns    16.99 µs …  17.44 µs  in 10 ×   5838 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.24 µs ± 325.61 ns     5.08 µs …   6.15 µs  in 10 ×  15942 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   7.42 µs ±  52.41 ns     7.36 µs …   7.51 µs  in 10 ×  14128 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 240.23 µs ±   5.03 µs   237.16 µs … 254.23 µs  in 10 ×    421 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.85 µs ±  80.27 ns    41.69 µs …  41.95 µs  in 10 ×   2382 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 166.13 ms ±  26.73 ms   128.42 ms … 193.84 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) 
  57.28 ms ±  12.22 ms    43.77 ms …  74.01 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) 
 106.21 µs ± 508.85 ns   105.61 µs … 107.01 µs  in 10 ×    842 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.45 ms ± 133.01 µs     1.37 ms …   1.76 ms  in 10 ×     72 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 176.85 µs ± 306.51 ns   176.41 µs … 177.37 µs  in 10 ×    565 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) 
 269.83 µs ±  17.18 µs   257.78 µs … 300.39 µs  in 10 ×    388 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  14.48 µs ±  78.92 ns    14.37 µs …  14.61 µs  in 10 ×   6902 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 149.28 µs ±   2.36 µs   147.73 µs … 155.39 µs  in 10 ×    650 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
  12.88 ns ±   0.32 ns    12.45 ns …  13.41 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) 
 108.31 ns ±   0.47 ns   107.59 ns … 108.80 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) 
 109.07 ns ±   0.73 ns   108.48 ns … 110.53 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.73 µs ± 494.10 ns    36.18 µs …  37.75 µs  in 10 ×   2666 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  53.83 µs ± 343.01 ns    53.21 µs …  54.18 µs  in 10 ×   1877 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 667.45 µs ±   1.61 µs   664.66 µs … 670.08 µs  in 10 ×    150 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) 
 111.56 µs ±   1.17 µs   109.81 µs … 113.19 µs  in 10 ×    905 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.33 µs ±  54.76 ns    13.27 µs …  13.43 µs  in 10 ×   7482 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 152.69 µs ±   1.26 µs   151.21 µs … 154.38 µs  in 10 ×    661 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.01 µs ±   6.73 ns     2.00 µs …   2.02 µs  in 10 ×  49799 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.42 µs ±   5.83 ns     2.41 µs …   2.43 µs  in 10 ×  41384 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  31.22 µs ± 167.15 ns    30.97 µs …  31.40 µs  in 10 ×   3194 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 507.97 µs ±   9.44 µs   493.37 µs … 519.60 µs  in 10 ×    202 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) 
  35.33 µs ± 263.66 ns    34.96 µs …  35.85 µs  in 10 ×   2844 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) 
 295.87 µs ±   2.78 µs   292.76 µs … 300.74 µs  in 10 ×    336 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.38 ms ±   7.92 µs     1.37 ms …   1.39 ms  in 10 ×     73 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.62 ms ±  52.03 µs     3.54 ms …   3.71 ms  in 10 ×     28 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.34 ms ±  35.11 µs     2.29 ms …   2.40 ms  in 10 ×     42 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) 
   3.06 ms ± 113.01 µs     3.00 ms …   3.38 ms  in 10 ×     33 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) 
   8.05 µs ±   1.38 µs     6.82 µs …  11.32 µs  in 10 ×  15982 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.76 µs ±   1.18 µs     6.82 µs …  10.91 µs  in 10 ×  13422 runs
Total tests: 105, passed: 105, failed: 0.

Benchmarks run with --release flag

@dowdiness dowdiness merged commit 65c308e into main May 26, 2026
27 checks passed
@dowdiness dowdiness deleted the codex/cognition-file-registry branch May 26, 2026 03:52
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.

1 participant