Skip to content

docs(cognition): archive completed recompute cleanup#361

Merged
dowdiness merged 1 commit into
mainfrom
docs/cognition-recompute-cleanup
May 26, 2026
Merged

docs(cognition): archive completed recompute cleanup#361
dowdiness merged 1 commit into
mainfrom
docs/cognition-recompute-cleanup

Conversation

@dowdiness
Copy link
Copy Markdown
Owner

@dowdiness dowdiness commented May 26, 2026

Summary

Validation

Docs-only change; no MoonBit validation required.

Summary by CodeRabbit

  • Documentation
    • Updated project roadmap with new design planning task for the Cognition Runtime component.
    • Added archive notice to a previous strategy document, marking it as superseded by current planning.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

📝 Walkthrough

Walkthrough

This PR updates the Cognition Runtime backlog by replacing an active dependency-cleanup task with a new provider-boundary design task before introducing LLM/network calls, while marking the prior recompute-strategy design document as archived.

Changes

Cognition Runtime Backlog and Archival

Layer / File(s) Summary
Update Cognition Runtime backlog and mark prior design archived
docs/TODO.md, docs/archive/2026-05-26-cognition-runtime-recompute-strategy.md
Active TODO item "19. Cognition Runtime" is replaced with a provider-boundary design task specifying exit criteria for provider call placement, async/cancellation/error semantics, typed errors/retries, deterministic test doubles, and validation boundaries. Prior recompute-strategy design document receives archived-status notice referencing the new backlog focus.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

A rabbit hops through TODO's gate,
Old paths archived, new plans take shape,
Provider bounds before we call,
The network waits—design comes first of all. 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: archiving a completed cognition recompute cleanup plan, which aligns with both the file modifications and PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/cognition-recompute-cleanup

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 12f9184 Commit Preview URL

Branch Preview URL
May 26 2026, 01:36 PM

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/TODO.md`:
- Line 394: Update the rationale line that currently references "PR `#359`" to
correctly reference "PR `#358`": locate the rationale text containing the
substring "PR `#359`" (the "Why:" line in the TODO.md rationale) and replace it
with "PR `#358`" so the shipped-PR reference matches the PR context and archive
note.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7d9c6a74-df5c-476f-922e-3939547aabdb

📥 Commits

Reviewing files that changed from the base of the PR and between 9f228fa and 12f9184.

📒 Files selected for processing (2)
  • docs/TODO.md
  • docs/archive/2026-05-26-cognition-runtime-recompute-strategy.md

Comment thread docs/TODO.md
Plan: `docs/plans/2026-05-26-cognition-runtime-recompute-strategy.md`
Exit: explicit file removal and dependency replacement have tests proving no deleted-path dependency edges remain after cleanup/recompute, with existing cognition behavior unchanged.
- [ ] Draft real provider-boundary design before adding LLM/network calls.
Why: PR #359 shipped deterministic synchronous provider/ranker seams and provenance-packed context; real provider integration needs explicit async, cancellation, error, and lifetime semantics before code changes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct the shipped-PR reference in rationale.

Line 394 cites PR #359 as the shipped prerequisite, but the PR context and archive note both identify PR #358 for this shipped recompute cleanup. Please align this reference to avoid backlog/history drift.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/TODO.md` at line 394, Update the rationale line that currently
references "PR `#359`" to correctly reference "PR `#358`": locate the rationale text
containing the substring "PR `#359`" (the "Why:" line in the TODO.md rationale)
and replace it with "PR `#358`" so the shipped-PR reference matches the PR context
and archive note.

@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) 
  50.44 µs ± 602.32 ns    49.72 µs …  51.62 µs  in 10 ×   1924 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   2.46 µs ±   9.05 ns     2.45 µs …   2.48 µs  in 10 ×  44072 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
 815.04 µs ±   6.71 µs   806.72 µs … 824.29 µs  in 10 ×    114 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  24.75 µs ± 164.33 ns    24.51 µs …  24.96 µs  in 10 ×   4092 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  12.60 ms ± 165.71 µs    12.36 ms …  12.84 ms  in 10 ×      8 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 427.26 µs ±   5.91 µs   420.02 µs … 436.61 µs  in 10 ×    230 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  47.61 µs ±   2.60 µs    46.33 µs …  54.85 µs  in 10 ×   2105 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  42.32 µs ± 220.00 ns    41.85 µs …  42.59 µs  in 10 ×   2359 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 572.67 µs ±   4.21 µs   565.50 µs … 580.68 µs  in 10 ×    175 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 562.92 µs ±   7.46 µs   556.00 µs … 576.37 µs  in 10 ×    177 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.47 ms ±  22.88 µs     1.44 ms …   1.51 ms  in 10 ×     67 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   3.76 ms ± 114.69 µs     3.60 ms …   3.92 ms  in 10 ×     28 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  17.21 ms ± 865.84 µs    15.54 ms …  18.26 ms  in 10 ×      7 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.24 ms ±  49.97 µs     1.18 ms …   1.34 ms  in 10 ×     58 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
 789.48 µs ±  63.19 µs   702.74 µs … 878.61 µs  in 10 ×    125 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.04 ms ±  67.10 µs     2.95 ms …   3.16 ms  in 10 ×     34 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  22.45 ms ±   1.37 ms    21.30 ms …  24.86 ms  in 10 ×      5 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:113 ("json object - incremental keystroke (1000 members)") ok
time (mean ± σ)         range (min … max) 
  62.32 ms ±   8.91 ms    56.21 ms …  79.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) 
 676.75 µs ± 154.13 µs   469.19 µs … 891.08 µs  in 10 ×    246 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.57 ms ±  46.33 µs     1.50 ms …   1.63 ms  in 10 ×     68 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  12.23 ms ± 350.95 µs    11.86 ms …  13.03 ms  in 10 ×      9 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  37.79 ms ±   1.93 ms    36.07 ms …  42.62 ms  in 10 ×      3 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   2.76 µs ±   7.08 ns     2.75 µs …   2.77 µs  in 10 ×  34284 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  11.60 µs ±  49.23 ns    11.52 µs …  11.66 µs  in 10 ×   8393 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
  48.87 µs ± 331.82 ns    48.60 µs …  49.70 µs  in 10 ×   2034 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 187.31 µs ±   1.05 µs   186.01 µs … 189.42 µs  in 10 ×    530 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
   5.68 µs ±  17.87 ns     5.65 µs …   5.72 µs  in 10 ×  17621 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
  92.67 µs ± 485.72 ns    91.90 µs …  93.54 µs  in 10 ×   1069 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 346.90 µs ±   2.85 µs   343.21 µs … 350.57 µs  in 10 ×    284 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  21.01 µs ±  80.81 ns    20.91 µs …  21.16 µs  in 10 ×   4745 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/x@0.4.38
Downloading moonbitlang/async@0.16.8
Downloading moonbitlang/quickcheck@0.11.2
[dowdiness/btree] bench btree_benchmark.mbt:79 ("bench: build via inserts (100)") ok
time (mean ± σ)         range (min … max) 
  51.07 µs ± 483.28 ns    50.40 µs …  52.19 µs  in 10 ×   1908 runs
[dowdiness/btree] bench btree_benchmark.mbt:84 ("bench: build via from_sorted (100)") ok
time (mean ± σ)         range (min … max) 
   2.47 µs ±  10.09 ns     2.45 µs …   2.48 µs  in 10 ×  43690 runs
[dowdiness/btree] bench btree_benchmark.mbt:91 ("bench: build via inserts (1000)") ok
time (mean ± σ)         range (min … max) 
 819.27 µs ±   9.71 µs   806.01 µs … 831.46 µs  in 10 ×    113 runs
[dowdiness/btree] bench btree_benchmark.mbt:96 ("bench: build via from_sorted (1000)") ok
time (mean ± σ)         range (min … max) 
  24.77 µs ± 207.89 ns    24.33 µs …  25.06 µs  in 10 ×   4133 runs
[dowdiness/btree] bench btree_benchmark.mbt:103 ("bench: build via inserts (10000)") ok
time (mean ± σ)         range (min … max) 
  12.43 ms ± 139.11 µs    12.29 ms …  12.66 ms  in 10 ×      8 runs
[dowdiness/btree] bench btree_benchmark.mbt:108 ("bench: build via from_sorted (10000)") ok
time (mean ± σ)         range (min … max) 
 421.91 µs ±   7.92 µs   408.72 µs … 431.99 µs  in 10 ×    237 runs
[dowdiness/btree] bench btree_benchmark.mbt:115 ("bench: delete_range middle 10% (1000)") ok
time (mean ± σ)         range (min … max) 
  46.63 µs ± 221.58 ns    46.30 µs …  46.94 µs  in 10 ×   2140 runs
[dowdiness/btree] bench btree_benchmark.mbt:124 ("bench: delete_range middle 50% (1000)") ok
time (mean ± σ)         range (min … max) 
  42.47 µs ± 138.19 ns    42.22 µs …  42.64 µs  in 10 ×   2363 runs
[dowdiness/btree] bench btree_benchmark.mbt:133 ("bench: delete_range middle 10% (10000)") ok
time (mean ± σ)         range (min … max) 
 570.36 µs ±   3.60 µs   564.67 µs … 575.20 µs  in 10 ×    171 runs
[dowdiness/btree] bench btree_benchmark.mbt:142 ("bench: delete_range middle 50% (10000)") ok
time (mean ± σ)         range (min … max) 
 564.48 µs ±   6.79 µs   555.71 µs … 574.42 µs  in 10 ×    179 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.47 ms ±  20.91 µs     1.43 ms …   1.50 ms  in 10 ×     69 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:35 ("viewnode serialization (200 defs)") ok
time (mean ± σ)         range (min … max) 
   3.63 ms ± 115.37 µs     3.48 ms …   3.79 ms  in 10 ×     29 runs
[dowdiness/canopy] bench editor/view_updater_benchmark_wbtest.mbt:46 ("viewnode serialization (500 defs)") ok
time (mean ± σ)         range (min … max) 
  17.08 ms ± 999.09 µs    15.31 ms …  18.62 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.20 ms ±  49.28 µs     1.14 ms …   1.27 ms  in 10 ×     83 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:98 ("json object - incremental keystroke (20 members)") ok
time (mean ± σ)         range (min … max) 
 857.57 µs ±  76.07 µs   753.20 µs … 959.54 µs  in 10 ×    144 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:103 ("json object - incremental keystroke (100 members)") ok
time (mean ± σ)         range (min … max) 
   3.04 ms ± 100.22 µs     2.95 ms …   3.30 ms  in 10 ×     34 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:108 ("json object - incremental keystroke (500 members)") ok
time (mean ± σ)         range (min … max) 
  23.62 ms ±   1.06 ms    22.42 ms …  25.16 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) 
  67.28 ms ±   8.24 ms    56.02 ms …  81.10 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) 
 614.35 µs ± 114.42 µs   471.42 µs … 785.75 µs  in 10 ×    196 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:123 ("json array - incremental keystroke (100 elements)") ok
time (mean ± σ)         range (min … max) 
   1.53 ms ±  41.25 µs     1.46 ms …   1.58 ms  in 10 ×     70 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:128 ("json array - incremental keystroke (500 elements)") ok
time (mean ± σ)         range (min … max) 
  12.04 ms ± 317.39 µs    11.61 ms …  12.73 ms  in 10 ×      9 runs
[dowdiness/canopy] bench lang/json/companion/json_benchmark.mbt:133 ("json array - incremental keystroke (1000 elements)") ok
time (mean ± σ)         range (min … max) 
  39.68 ms ±   3.82 ms    36.00 ms …  45.95 ms  in 10 ×      3 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:38 ("tree refresh unchanged (20 defs)") ok
time (mean ± σ)         range (min … max) 
   2.68 µs ±  25.01 ns     2.65 µs …   2.73 µs  in 10 ×  35905 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:48 ("tree refresh unchanged (80 defs)") ok
time (mean ± σ)         range (min … max) 
  10.76 µs ± 120.59 ns    10.62 µs …  10.96 µs  in 10 ×   9061 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:58 ("tree refresh unchanged (320 defs)") ok
time (mean ± σ)         range (min … max) 
  47.20 µs ± 283.39 ns    46.69 µs …  47.61 µs  in 10 ×   2114 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:68 ("tree refresh unchanged (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 187.27 µs ±  11.79 µs   179.51 µs … 211.56 µs  in 10 ×    551 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:80 ("tree refresh 1 changed (20 defs)") ok
time (mean ± σ)         range (min … max) 
   5.33 µs ±  16.63 ns     5.31 µs …   5.36 µs  in 10 ×  18754 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:95 ("tree refresh 1 changed (320 defs)") ok
time (mean ± σ)         range (min … max) 
  88.71 µs ±   4.37 µs    86.59 µs … 100.84 µs  in 10 ×   1061 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:110 ("tree refresh 1 changed (1000 defs)") ok
time (mean ± σ)         range (min … max) 
 343.15 µs ±   3.09 µs   339.60 µs … 349.31 µs  in 10 ×    287 runs
[dowdiness/canopy] bench projection/tree_refresh_benchmark_wbtest.mbt:125 ("tree refresh 1 changed (80 defs)") ok
time (mean ± σ)         range (min … max) 
  19.41 µs ± 177.16 ns    19.27 µs …  19.87 µs  in 10 ×   5186 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) 
  17.10 µs ± 387.54 ns    16.76 µs …  18.01 µs  in 10 ×   5760 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) 
  88.83 µs ± 650.23 ns    88.21 µs …  89.95 µs  in 10 ×   1122 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) 
 411.01 µs ±   4.79 µs   403.96 µs … 416.89 µs  in 10 ×    243 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) 
 114.10 µs ± 428.95 ns   113.17 µs … 114.75 µs  in 10 ×    883 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) 
  83.33 µs ± 636.38 ns    82.40 µs …  84.28 µs  in 10 ×   1198 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) 
  53.22 µs ± 317.30 ns    52.91 µs …  53.68 µs  in 10 ×   1833 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) 
  86.78 µs ± 933.69 ns    85.57 µs …  87.99 µs  in 10 ×   1154 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) 
 164.84 µs ± 791.92 ns   163.71 µs … 165.76 µs  in 10 ×    607 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.90 µs ±  24.47 µs    21.93 µs …  84.27 µs  in 10 ×   2945 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   3.32 µs ±  75.45 ns     3.19 µs …   3.39 µs  in 10 ×  29052 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  23.04 µs ± 362.39 ns    22.60 µs …  23.56 µs  in 10 ×   4259 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 305.50 µs ±   3.94 µs   300.52 µs … 312.62 µs  in 10 ×    319 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
   9.63 µs ±   2.82 µs     7.59 µs …  17.30 µs  in 10 ×  11146 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
  89.91 µs ±  64.69 µs    47.54 µs … 221.66 µs  in 10 ×   1943 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  31.50 µs ± 320.41 ns    31.06 µs …  31.97 µs  in 10 ×   3241 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  32.53 µs ± 232.56 ns    32.07 µs …  32.79 µs  in 10 ×   3075 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) 
  22.51 µs ± 784.46 ns    21.91 µs …  24.24 µs  in 10 ×   4376 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.21 ms ±   4.00 ms     2.34 ms …  13.73 ms  in 10 ×     78 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:246 ("branch - to_text (100 chars)") ok
time (mean ± σ)         range (min … max) 
   9.54 µs ±  72.57 ns     9.39 µs …   9.63 µs  in 10 ×  10474 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
  98.84 µs ± 275.04 ns    98.40 µs …  99.18 µs  in 10 ×   1017 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:285 ("branch - single advance (1 new op)") ok
time (mean ± σ)         range (min … max) 
   3.23 µs ± 177.04 ns     3.09 µs …   3.60 µs  in 10 ×  31471 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:311 ("branch - single advance (50 new ops)") ok
time (mean ± σ)         range (min … max) 
  41.17 µs ±  22.49 µs    25.30 µs …  82.30 µs  in 10 ×   2691 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  13.87 ms ±   3.35 ms     8.80 ms …  18.24 ms  in 10 ×     18 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  14.72 µs ±   9.39 µs     9.84 µs …  35.93 µs  in 10 ×   5968 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 486.36 ns ±   9.67 ns   476.99 ns … 504.57 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) 
   3.73 µs ±   6.65 ns     3.73 µs …   3.75 µs  in 10 ×  26751 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:38 ("walker - linear history (1000 ops)") ok
time (mean ± σ)         range (min … max) 
  37.75 µs ±   2.64 µs    35.51 µs …  43.63 µs  in 10 ×   2828 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) 
   4.94 µs ±  20.59 ns     4.90 µs …   4.97 µs  in 10 ×  20220 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) 
   4.94 µs ±  10.67 ns     4.93 µs …   4.96 µs  in 10 ×  20188 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:99 ("walker - diamond pattern (50 diamonds)") ok
time (mean ± σ)         range (min … max) 
   6.75 µs ±  52.70 ns     6.72 µs …   6.88 µs  in 10 ×  14113 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) 
   2.74 µs ±   7.48 ns     2.73 µs …   2.76 µs  in 10 ×  36649 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:145 ("walker - diff with concurrent branches") ok
time (mean ± σ)         range (min … max) 
   4.52 µs ±  50.23 ns     4.45 µs …   4.61 µs  in 10 ×  22537 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 364.04 µs ±   1.45 µs   361.71 µs … 365.94 µs  in 10 ×    276 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.23 ms ± 370.71 µs     6.69 ms …   7.82 ms  in 10 ×     14 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.70 ms ±   3.88 ms    26.62 ms …  36.89 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) 
  46.67 ns ±   0.24 ns    46.13 ns …  46.89 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) 
 216.54 ns ±   0.79 ns   215.24 ns … 217.64 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.07 µs ±   3.27 ns     1.07 µs …   1.08 µs  in 10 ×  93202 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) 
 260.07 ns ±   0.62 ns   259.09 ns … 260.99 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) 
 129.18 ns ±   0.48 ns   128.65 ns … 130.21 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) 
 539.02 ns ±   1.32 ns   537.73 ns … 541.77 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) 
 366.92 ns ±   1.25 ns   365.14 ns … 369.22 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.05 µs ±   4.79 ns     2.04 µs …   2.06 µs  in 10 ×  48733 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) 
 191.66 ns ±   1.06 ns   189.86 ns … 193.66 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.41 ns ±   0.84 ns   132.68 ns … 134.74 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) 
 437.64 ns ±   2.11 ns   435.00 ns … 440.40 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) 
   3.61 µs ±  21.91 ns     3.59 µs …   3.66 µs  in 10 ×  27837 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) 
 206.64 ns ±   0.95 ns   205.56 ns … 208.47 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) 
   3.82 µs ±   8.74 ns     3.81 µs …   3.84 µs  in 10 ×  26111 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) 
  60.50 ns ±   0.58 ns    59.86 ns …  61.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) 
  10.48 ns ±   0.41 ns    10.15 ns …  11.14 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) 
 157.06 µs ±   1.80 µs   153.89 µs … 159.00 µs  in 10 ×    633 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.56 ms ±  91.30 µs     2.45 ms …   2.69 ms  in 10 ×     37 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) 
   8.11 ms ± 213.63 µs     7.85 ms …   8.43 ms  in 10 ×     12 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.03 ms ± 169.29 µs     2.86 ms …   3.30 ms  in 10 ×     31 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) 
  28.40 ms ±   1.07 ms    26.62 ms …  29.94 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) 
  81.11 ns ±   0.41 ns    80.56 ns …  81.88 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) 
  80.75 ns ±   0.52 ns    80.10 ns …  81.67 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) 
 449.62 µs ±   2.86 µs   444.12 µs … 452.35 µs  in 10 ×    226 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 132.93 µs ± 732.48 ns   131.75 µs … 133.85 µs  in 10 ×    763 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) 
 130.19 µs ± 814.89 ns   129.02 µs … 131.44 µs  in 10 ×    780 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) 
   3.87 ms ± 116.71 µs     3.74 ms …   4.11 ms  in 10 ×     26 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:90 ("jump - degenerate chain remote insert") ok
time (mean ± σ)         range (min … max) 
 129.16 µs ± 947.43 ns   127.67 µs … 130.30 µs  in 10 ×    774 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  34.26 µs ± 764.67 ns    33.67 µs …  36.29 µs  in 10 ×   2860 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 445.75 µs ±   6.42 µs   436.89 µs … 455.69 µs  in 10 ×    228 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) 
  50.04 µs ± 306.57 ns    49.49 µs …  50.57 µs  in 10 ×   1978 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  25.74 µs ± 110.70 ns    25.61 µs …  25.90 µs  in 10 ×   3886 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 101.17 ns ±   0.54 ns   100.34 ns … 101.81 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) 
  17.92 ns ±   0.35 ns    17.42 ns …  18.53 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) 
  20.58 ns ±   0.36 ns    19.95 ns …  21.08 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) 
   6.76 µs ±  21.81 ns     6.73 µs …   6.81 µs  in 10 ×  14504 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  13.45 µs ±  49.07 ns    13.39 µs …  13.53 µs  in 10 ×   7405 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:177 ("oplog - diff_and_collect (advance 20)") ok
time (mean ± σ)         range (min … max) 
   4.02 µs ±   9.77 ns     4.00 µs …   4.04 µs  in 10 ×  24873 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   5.96 µs ±  12.85 ns     5.95 µs …   5.98 µs  in 10 ×  16756 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 196.85 µs ±   1.25 µs   195.13 µs … 198.44 µs  in 10 ×    510 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:249 ("oplog - random position inserts (100 ops)") ok
time (mean ± σ)         range (min … max) 
  33.54 µs ± 244.46 ns    33.33 µs …  34.14 µs  in 10 ×   3004 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 137.29 ms ±  24.34 ms   109.45 ms … 166.20 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) 
  51.26 ms ±  16.21 ms    32.75 ms …  70.52 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) 
  83.41 µs ± 307.11 ns    82.97 µs …  83.81 µs  in 10 ×   1195 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.16 ms ±  54.92 µs     1.09 ms …   1.24 ms  in 10 ×     86 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 143.24 µs ±   2.13 µs   141.13 µs … 148.77 µs  in 10 ×    702 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) 
 204.65 µs ± 549.37 ns   203.70 µs … 205.63 µs  in 10 ×    489 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  11.95 µs ±  76.24 ns    11.86 µs …  12.09 µs  in 10 ×   8244 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 122.20 µs ± 571.04 ns   121.32 µs … 123.00 µs  in 10 ×    810 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
  11.26 ns ±   0.38 ns    10.63 ns …  11.88 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) 
  84.82 ns ±   0.42 ns    84.14 ns …  85.34 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) 
  85.85 ns ±   0.49 ns    85.31 ns …  86.72 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) 
  28.89 µs ± 238.57 ns    28.63 µs …  29.46 µs  in 10 ×   3359 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  42.73 µs ± 206.73 ns    42.40 µs …  42.98 µs  in 10 ×   2381 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 536.78 µs ±   5.64 µs   530.17 µs … 545.08 µs  in 10 ×    187 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) 
  89.09 µs ± 547.91 ns    88.03 µs …  89.86 µs  in 10 ×   1119 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:216 ("text - checkout (midpoint of 100-op doc)") ok
time (mean ± σ)         range (min … max) 
  10.83 µs ± 111.69 ns    10.64 µs …  10.95 µs  in 10 ×   9146 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 120.10 µs ± 471.33 ns   119.51 µs … 120.88 µs  in 10 ×    838 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) 
   1.71 µs ± 138.94 ns     1.63 µs …   2.00 µs  in 10 ×  61093 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) 
   1.98 µs ±   8.58 ns     1.96 µs …   1.99 µs  in 10 ×  51010 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  25.58 µs ± 211.37 ns    25.20 µs …  25.83 µs  in 10 ×   3900 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 407.00 µs ±   9.14 µs   398.78 µs … 428.72 µs  in 10 ×    193 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) 
  27.76 µs ± 345.93 ns    27.34 µs …  28.24 µs  in 10 ×   3552 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) 
 234.75 µs ± 970.38 ns   233.54 µs … 236.55 µs  in 10 ×    428 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.12 ms ±  18.84 µs     1.09 ms …   1.14 ms  in 10 ×     93 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   2.95 ms ±  78.58 µs     2.84 ms …   3.05 ms  in 10 ×     35 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) 
   1.82 ms ±  30.45 µs     1.78 ms …   1.87 ms  in 10 ×     55 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.50 ms ±  41.29 µs     2.44 ms …   2.56 ms  in 10 ×     41 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) 
   6.66 µs ± 738.80 ns     5.84 µs …   8.19 µs  in 10 ×  17763 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) 
   6.48 µs ± 934.24 ns     5.80 µs …   8.80 µs  in 10 ×  17693 runs
Total tests: 105, passed: 105, failed: 0.

PR branch:

Registry index updated successfully
Symbols updated successfully
Using cached dowdiness/rle@0.2.0
Downloading dowdiness/order-tree@0.1.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) 
  16.93 µs ± 407.06 ns    16.51 µs …  17.98 µs  in 10 ×   5746 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) 
  87.89 µs ± 662.16 ns    86.96 µs …  88.94 µs  in 10 ×   1139 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) 
 408.62 µs ±   2.34 µs   406.16 µs … 412.76 µs  in 10 ×    242 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) 
 111.60 µs ± 677.41 ns   110.54 µs … 112.58 µs  in 10 ×    901 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) 
  83.01 µs ± 422.21 ns    82.33 µs …  83.86 µs  in 10 ×   1211 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) 
  54.74 µs ± 190.41 ns    54.45 µs …  55.05 µs  in 10 ×   1834 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) 
  87.03 µs ± 612.54 ns    86.27 µs …  87.88 µs  in 10 ×   1152 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) 
 167.99 µs ±   1.86 µs   164.96 µs … 169.92 µs  in 10 ×    591 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) 
  46.30 µs ±  28.92 µs    23.90 µs … 108.92 µs  in 10 ×   2895 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:6 ("branch - checkout (10 ops)") ok
time (mean ± σ)         range (min … max) 
   3.58 µs ±  48.26 ns     3.52 µs …   3.65 µs  in 10 ×  26215 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:29 ("branch - checkout (100 ops)") ok
time (mean ± σ)         range (min … max) 
  23.89 µs ± 254.51 ns    23.55 µs …  24.30 µs  in 10 ×   4108 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:47 ("branch - checkout (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 314.70 µs ±  16.19 µs   298.59 µs … 338.92 µs  in 10 ×    263 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:65 ("branch - advance (10 new ops)") ok
time (mean ± σ)         range (min … max) 
   9.63 µs ±   2.88 µs     7.65 µs …  17.49 µs  in 10 ×  11111 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:91 ("branch - advance (100 new ops)") ok
time (mean ± σ)         range (min … max) 
  76.25 µs ±  37.77 µs    47.38 µs … 139.94 µs  in 10 ×   1863 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:117 ("branch - checkout with concurrent branches") ok
time (mean ± σ)         range (min … max) 
  30.65 µs ± 245.47 ns    30.35 µs …  31.09 µs  in 10 ×   3250 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:145 ("branch - checkout with deletes") ok
time (mean ± σ)         range (min … max) 
  32.93 µs ±   2.18 µs    31.17 µs …  38.56 µs  in 10 ×   3271 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) 
  22.46 µs ±   2.46 µs    20.46 µs …  26.27 µs  in 10 ×   3951 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.75 ms ±   4.52 ms     2.28 ms …  14.68 ms  in 10 ×     81 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:246 ("branch - to_text (100 chars)") ok
time (mean ± σ)         range (min … max) 
   9.46 µs ±  52.24 ns     9.38 µs …   9.55 µs  in 10 ×  10439 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:264 ("branch - to_text (1000 chars)") ok
time (mean ± σ)         range (min … max) 
  98.88 µs ± 699.31 ns    98.05 µs …  99.74 µs  in 10 ×   1015 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:285 ("branch - single advance (1 new op)") ok
time (mean ± σ)         range (min … max) 
   3.26 µs ± 227.48 ns     3.05 µs …   3.69 µs  in 10 ×  32175 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:311 ("branch - single advance (50 new ops)") ok
time (mean ± σ)         range (min … max) 
  46.08 µs ±  24.97 µs    25.25 µs … 101.34 µs  in 10 ×   2424 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:342 ("branch - realistic typing (50 chars)") ok
time (mean ± σ)         range (min … max) 
  13.77 ms ±   3.40 ms     8.63 ms …  18.33 ms  in 10 ×     18 runs
[dowdiness/event-graph-walker] bench internal/branch/branch_benchmark.mbt:375 ("branch - concurrent merge scenario") ok
time (mean ± σ)         range (min … max) 
  12.17 µs ±   2.74 µs    10.94 µs …  19.93 µs  in 10 ×   8036 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:6 ("walker - linear history (10 ops)") ok
time (mean ± σ)         range (min … max) 
 483.25 ns ±   6.49 ns   475.23 ns … 492.17 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) 
   3.75 µs ±   8.85 ns     3.74 µs …   3.77 µs  in 10 ×  26590 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:38 ("walker - linear history (1000 ops)") ok
time (mean ± σ)         range (min … max) 
  35.26 µs ± 685.81 ns    34.57 µs …  36.53 µs  in 10 ×   2870 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) 
   4.82 µs ±  14.25 ns     4.79 µs …   4.84 µs  in 10 ×  20790 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) 
   5.01 µs ± 391.20 ns     4.76 µs …   5.82 µs  in 10 ×  20670 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:99 ("walker - diamond pattern (50 diamonds)") ok
time (mean ± σ)         range (min … max) 
   6.58 µs ±  45.13 ns     6.49 µs …   6.64 µs  in 10 ×  15193 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) 
   2.78 µs ±  80.09 ns     2.73 µs …   2.94 µs  in 10 ×  36340 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:145 ("walker - diff with concurrent branches") ok
time (mean ± σ)         range (min … max) 
   4.57 µs ±  17.59 ns     4.54 µs …   4.59 µs  in 10 ×  22123 runs
[dowdiness/event-graph-walker] bench internal/causal_graph/walker_benchmark.mbt:176 ("walker - large history (10000 ops)") ok
time (mean ± σ)         range (min … max) 
 366.58 µs ±   1.99 µs   363.77 µs … 369.41 µs  in 10 ×    274 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.59 ms ± 375.64 µs     7.18 ms …   8.34 ms  in 10 ×     15 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) 
  26.04 ms ±   3.28 ms    23.61 ms …  33.18 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) 
  46.37 ns ±   0.25 ns    45.89 ns …  46.68 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) 
 215.35 ns ±   0.78 ns   214.05 ns … 216.44 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.23 µs ±  87.37 ns     1.18 µs …   1.47 µs  in 10 ×  84282 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) 
 258.91 ns ±   0.80 ns   258.02 ns … 260.41 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) 
 130.22 ns ±   0.46 ns   129.58 ns … 131.03 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) 
 533.94 ns ±   0.79 ns   533.07 ns … 535.41 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) 
 366.34 ns ±   1.76 ns   364.00 ns … 370.14 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.05 µs ±   5.34 ns     2.04 µs …   2.05 µs  in 10 ×  48881 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) 
 189.79 ns ±   1.72 ns   186.86 ns … 192.10 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) 
 135.77 ns ±   0.85 ns   134.91 ns … 137.18 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) 
 431.25 ns ±   0.78 ns   430.22 ns … 432.43 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) 
   3.59 µs ±   9.62 ns     3.58 µs …   3.61 µs  in 10 ×  27938 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) 
 207.49 ns ±   0.78 ns   206.55 ns … 208.89 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) 
   3.84 µs ±   7.15 ns     3.83 µs …   3.85 µs  in 10 ×  25918 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) 
  60.01 ns ±   0.49 ns    59.43 ns …  60.64 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) 
  10.22 ns ±   0.41 ns     9.85 ns …  11.02 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) 
 158.42 µs ± 944.09 ns   157.31 µs … 160.31 µs  in 10 ×    636 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.51 ms ±  63.69 µs     2.42 ms …   2.60 ms  in 10 ×     40 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) 
   8.69 ms ± 878.27 µs     7.93 ms …  10.87 ms  in 10 ×     12 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.16 ms ± 113.70 µs     3.03 ms …   3.33 ms  in 10 ×     31 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) 
  27.38 ms ± 799.48 µs    26.45 ms …  28.64 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) 
  79.08 ns ±   0.49 ns    78.42 ns …  79.82 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) 
  79.62 ns ±   0.44 ns    79.06 ns …  80.22 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) 
 445.86 µs ±   5.38 µs   438.90 µs … 454.41 µs  in 10 ×    222 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:2 ("jump - sequential append 1K") ok
time (mean ± σ)         range (min … max) 
 135.96 µs ±   7.83 µs   130.83 µs … 151.89 µs  in 10 ×    507 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) 
 127.40 µs ± 781.21 ns   126.30 µs … 128.42 µs  in 10 ×    784 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) 
   3.71 ms ±  70.89 µs     3.64 ms …   3.87 ms  in 10 ×     27 runs
[dowdiness/event-graph-walker] bench internal/fugue/jump_ancestors_benchmark.mbt:90 ("jump - degenerate chain remote insert") ok
time (mean ± σ)         range (min … max) 
 128.36 µs ±   1.11 µs   126.81 µs … 129.87 µs  in 10 ×    783 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:6 ("oplog - insert (100 ops)") ok
time (mean ± σ)         range (min … max) 
  33.65 µs ± 694.75 ns    33.06 µs …  35.38 µs  in 10 ×   2924 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:20 ("oplog - insert (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 426.95 µs ±   5.12 µs   418.73 µs … 434.97 µs  in 10 ×    230 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) 
  49.72 µs ± 398.26 ns    49.20 µs …  50.43 µs  in 10 ×   2036 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:58 ("oplog - apply_remote (50 ops)") ok
time (mean ± σ)         range (min … max) 
  25.13 µs ±  89.97 ns    25.01 µs …  25.28 µs  in 10 ×   3971 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:79 ("oplog - get_op (1000 ops)") ok
time (mean ± σ)         range (min … max) 
 101.46 ns ±   0.57 ns   100.43 ns … 102.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) 
  17.86 ns ±   0.33 ns    17.34 ns …  18.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) 
  20.60 ns ±   0.42 ns    20.06 ns …  21.46 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) 
   6.71 µs ±  33.60 ns     6.68 µs …   6.79 µs  in 10 ×  14406 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:150 ("oplog - walk_and_collect (concurrent)") ok
time (mean ± σ)         range (min … max) 
  13.66 µs ±  36.51 ns    13.60 µs …  13.72 µs  in 10 ×   7251 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:177 ("oplog - diff_and_collect (advance 20)") ok
time (mean ± σ)         range (min … max) 
   4.06 µs ±  28.26 ns     4.03 µs …   4.10 µs  in 10 ×  24637 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:202 ("oplog - walk_filtered (inserts only)") ok
time (mean ± σ)         range (min … max) 
   6.01 µs ±  34.90 ns     5.97 µs …   6.07 µs  in 10 ×  16587 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:233 ("oplog - sequential typing (500 chars)") ok
time (mean ± σ)         range (min … max) 
 192.48 µs ±   3.75 µs   190.03 µs … 202.82 µs  in 10 ×    524 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:249 ("oplog - random position inserts (100 ops)") ok
time (mean ± σ)         range (min … max) 
  32.99 µs ± 125.06 ns    32.79 µs …  33.16 µs  in 10 ×   3027 runs
[dowdiness/event-graph-walker] bench internal/oplog/oplog_benchmark.mbt:270 ("oplog - sequential typing (100000 chars)") ok
time (mean ± σ)         range (min … max) 
 158.77 ms ±  26.95 ms   121.92 ms … 210.45 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) 
  59.26 ms ±  13.48 ms    40.22 ms …  72.54 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) 
  82.68 µs ±   1.04 µs    82.04 µs …  85.52 µs  in 10 ×   1186 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:22 ("text - insert append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.17 ms ±  27.26 µs     1.13 ms …   1.21 ms  in 10 ×     83 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:35 ("text - insert prepend (100 chars)") ok
time (mean ± σ)         range (min … max) 
 137.53 µs ± 720.24 ns   136.86 µs … 138.91 µs  in 10 ×    726 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) 
 198.41 µs ± 780.91 ns   197.35 µs … 199.57 µs  in 10 ×    500 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:70 ("text - text() (100-char doc)") ok
time (mean ± σ)         range (min … max) 
  11.65 µs ±  79.30 ns    11.53 µs …  11.78 µs  in 10 ×   8486 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:83 ("text - text() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
 119.06 µs ± 998.58 ns   118.00 µs … 120.84 µs  in 10 ×    837 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:96 ("text - len() (1000-char doc)") ok
time (mean ± σ)         range (min … max) 
   9.75 ns ±   0.37 ns     9.45 ns …  10.51 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) 
  84.83 ns ±   0.35 ns    84.21 ns …  85.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) 
  83.34 ns ±   0.43 ns    82.74 ns …  84.12 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) 
  28.94 µs ±  99.22 ns    28.79 µs …  29.04 µs  in 10 ×   3462 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:156 ("text - sync apply (50 remote ops)") ok
time (mean ± σ)         range (min … max) 
  42.30 µs ± 288.35 ns    41.87 µs …  42.81 µs  in 10 ×   2351 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:171 ("text - sync apply (500 remote ops)") ok
time (mean ± σ)         range (min … max) 
 535.74 µs ±   6.48 µs   525.69 µs … 546.22 µs  in 10 ×    187 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) 
  89.95 µs ± 375.92 ns    89.45 µs …  90.52 µs  in 10 ×   1113 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:216 ("text - checkout (midpoint of 100-op doc)") ok
time (mean ± σ)         range (min … max) 
  11.06 µs ±  51.22 ns    11.00 µs …  11.15 µs  in 10 ×   8932 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:233 ("text - checkout (midpoint of 1000-op doc)") ok
time (mean ± σ)         range (min … max) 
 122.66 µs ± 344.43 ns   122.23 µs … 123.30 µs  in 10 ×    816 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) 
   1.62 µs ±  25.45 ns     1.60 µs …   1.69 µs  in 10 ×  61769 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) 
   1.94 µs ±  12.69 ns     1.93 µs …   1.96 µs  in 10 ×  51731 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:281 ("text - undo undo() (10-op group)") ok
time (mean ± σ)         range (min … max) 
  25.21 µs ± 146.63 ns    25.03 µs …  25.45 µs  in 10 ×   3952 runs
[dowdiness/event-graph-walker] bench text/text_benchmark.mbt:295 ("text - undo undo() (50-op group)") ok
time (mean ± σ)         range (min … max) 
 398.28 µs ±   2.19 µs   394.29 µs … 400.89 µs  in 10 ×    250 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) 
  28.63 µs ±   1.41 µs    27.78 µs …  31.95 µs  in 10 ×   3584 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) 
 234.78 µs ± 771.12 ns   233.79 µs … 236.06 µs  in 10 ×    429 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:17 ("cache - sequential append (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   1.15 ms ±  17.37 µs     1.13 ms …   1.18 ms  in 10 ×     90 runs
[dowdiness/event-graph-walker] bench text/position_cache_benchmark.mbt:34 ("cache - alternating pos (1000 chars)") ok
time (mean ± σ)         range (min … max) 
   3.01 ms ± 119.36 µs     2.83 ms …   3.18 ms  in 10 ×     34 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) 
   1.88 ms ±  27.87 µs     1.84 ms …   1.92 ms  in 10 ×     52 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.45 ms ±  74.45 µs     2.34 ms …   2.54 ms  in 10 ×     43 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) 
   6.83 µs ± 761.82 ns     6.10 µs …   8.59 µs  in 10 ×  18218 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) 
   6.72 µs ± 998.03 ns     5.62 µs …   8.82 µs  in 10 ×  18700 runs
Total tests: 105, passed: 105, failed: 0.

Benchmarks run with --release flag

@dowdiness dowdiness merged commit 5468c9c into main May 26, 2026
26 checks passed
@dowdiness dowdiness deleted the docs/cognition-recompute-cleanup branch May 26, 2026 13:45
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