Skip to content

Threadlane protocol - #123

Draft
wheregmis wants to merge 20 commits into
mainfrom
threadlane_protocol
Draft

Threadlane protocol#123
wheregmis wants to merge 20 commits into
mainfrom
threadlane_protocol

Conversation

@wheregmis

Copy link
Copy Markdown
Owner

No description provided.

Prefer an explicit or bundled daemon path before falling back to `PATH`.

Gate pre-harness GPUI tests behind the opt-in `legacy-api-tests`
feature.
Route Codex login through device authorization polling and use the
active account for daemon session credentials.
Centralize model catalogs and Git operations in daemon services.
Move PTY ownership out of GPUI and improve terminal lifecycle errors.
Validate project-relative file paths before editor operations.
Expose extension management, Git inspection, session log reads, and
workspace change notifications through shared protocol services. Remove
GPUI filesystem fallbacks and local project-registry persistence.
New sessions no longer route through select_session, which queued a
hydration for a session the daemon had not created yet. The
CreateSessionRequest now travels with the prompt and is sent before
subscribing, and create or subscribe failures finish generation and
surface as chat errors instead of being dropped.
@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

@wheregmis

Copy link
Copy Markdown
Owner Author

I think the performance over RPC was not as i expected for such the stuff i am aiming for, so will be keeping the progress in draft.

@github-actions

Copy link
Copy Markdown
Contributor

Threadlane performance report

Base/head comparisons from workflow run 33326578880.

mcp-timing

Performance Comparison basehead

Total Elapsed Time: 18.51ms → 18.46ms (-0.3%)
CPU Baseline: 79.13µs → 78.88µs (-0.3%)
Benchmark ID: mcp-timing

timing - Execution duration of functions.

+----------------------+--------------------+------------------------------+------------------------------+--------------------------------+------------------------------+
| Function             | Calls              | Avg                          | P95                          | Total                          | % Total                      |
+----------------------+--------------------+------------------------------+------------------------------+--------------------------------+------------------------------+
| mcp::main            | 1 → 1 (+0.0%)      | 18.32ms → 18.24ms (-0.4%)    | 18.33ms → 18.25ms (-0.4%)    | 18.32ms → 18.24ms (-0.4%)      | 100.00% → 100.00% (+0.0%)    |
+----------------------+--------------------+------------------------------+------------------------------+--------------------------------+------------------------------+
| mcp::tool_calls      | 10 → 10 (+0.0%)    | 1.57ms → 1.56ms (-0.6%)      | 1.66ms → 1.62ms (-2.4%)      | 15.66ms → 15.56ms (-0.6%)      | 85.45% → 85.27% (-0.2%)      |
+----------------------+--------------------+------------------------------+------------------------------+--------------------------------+------------------------------+
| mcp::discover_repeat | 10 → 10 (+0.0%)    | 10.87µs → 10.71µs (-1.5%)    | 23.92µs → 22.69µs (-5.1%)    | 108.71µs → 107.14µs (-1.4%)    | 0.59% → 0.59% (+0.0%)        |
+----------------------+--------------------+------------------------------+------------------------------+--------------------------------+------------------------------+
runtime-alloc

Performance Comparison basehead

Total Elapsed Time: 7.93s → 7.96s (+0.3%)
CPU Baseline: 82.10µs → 84.45µs (+2.9%)
Benchmark ID: runtime-alloc

timing - Function execution time metrics.

+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+
| Function                | Calls              | Avg                          | P95                           | Total                          | % Total                      |
+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::main           | 1 → 1 (+0.0%)      | 7.93s → 7.96s (+0.4%)        | 7.93s → 7.96s (+0.4%)         | 7.93s → 7.96s (+0.4%)          | 100.00% → 100.00% (+0.0%)    |
+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::append_scaling | 10 → 10 (+0.0%)    | 93.83ms → 93.91ms (+0.1%)    | 103.94ms → 98.30ms (-5.4%)    | 938.33ms → 939.07ms (+0.1%)    | 11.83% → 11.80% (-0.3%)      |
+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::open_scaling   | 10 → 10 (+0.0%)    | 20.77ms → 20.83ms (+0.3%)    | 21.58ms → 21.28ms (-1.4%)     | 207.74ms → 208.29ms (+0.3%)    | 2.62% → 2.62% (+0.0%)        |
+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::reducer_replay | 10 → 10 (+0.0%)    | 2.11ms → 2.03ms (-3.8%)      | 2.37ms → 2.14ms (-9.7%)       | 21.11ms → 20.34ms (-3.6%)      | 0.27% → 0.26% (-3.7%)        |
+-------------------------+--------------------+------------------------------+-------------------------------+--------------------------------+------------------------------+

alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls).

+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| Function                | Calls              | Avg                            | P95                            | Total                          | % Total                    |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runtime::main           | 1 → 1 (+0.0%)      | 4.0 GB → 4.0 GB (+0.0%)        | 954.0 MB → 954.0 MB (+0.0%)    | 4.0 GB → 4.0 GB (+0.0%)        | 71.34% → 71.34% (+0.0%)    |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runtime::append_scaling | 10 → 10 (+0.0%)    | 117.8 MB → 117.8 MB (+0.0%)    | 117.8 MB → 117.8 MB (+0.0%)    | 1.2 GB → 1.2 GB (+0.0%)        | 20.75% → 20.75% (+0.0%)    |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runtime::open_scaling   | 10 → 10 (+0.0%)    | 44.1 MB → 44.1 MB (+0.0%)      | 44.1 MB → 44.1 MB (+0.0%)      | 440.6 MB → 440.6 MB (+0.0%)    | 7.76% → 7.76% (+0.0%)      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
| runtime::reducer_replay | 10 → 10 (+0.0%)    | 868.9 KB → 868.9 KB (+0.0%)    | 869.0 KB → 869.0 KB (+0.0%)    | 8.5 MB → 8.5 MB (+0.0%)        | 0.15% → 0.15% (+0.0%)      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+----------------------------+
runtime-timing

Performance Comparison basehead

Total Elapsed Time: 15.16s → 17.72s (+16.9%) ⚠️
CPU Baseline: 62.24µs → 62.04µs (-0.3%)
Benchmark ID: runtime-timing

timing - Execution duration of functions.

+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
| Function                | Calls              | Avg                              | P95                           | Total                          | % Total                      |
+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::main           | 1 → 1 (+0.0%)      | 15.16s → 17.72s (+16.9%) ⚠️      | 15.17s → 17.73s (+16.9%) ⚠️   | 15.16s → 17.72s (+16.9%) ⚠️    | 100.00% → 100.00% (+0.0%)    |
+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::append_scaling | 10 → 10 (+0.0%)    | 483.29ms → 336.49ms (-30.4%) 🚀  | 1.18s → 622.33ms (-47.3%) 🚀  | 4.83s → 3.36s (-30.4%) 🚀      | 31.87% → 18.99% (-40.4%) 🚀  |
+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::open_scaling   | 10 → 10 (+0.0%)    | 14.21ms → 14.05ms (-1.1%)        | 14.84ms → 14.61ms (-1.5%)     | 142.09ms → 140.55ms (-1.1%)    | 0.94% → 0.79% (-16.0%) 🚀    |
+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
| runtime::reducer_replay | 10 → 10 (+0.0%)    | 1.25ms → 1.21ms (-3.2%)          | 1.39ms → 1.25ms (-10.1%) 🚀   | 12.47ms → 12.12ms (-2.8%)      | 0.08% → 0.07% (-12.5%) 🚀    |
+-------------------------+--------------------+----------------------------------+-------------------------------+--------------------------------+------------------------------+
terminal-alloc

Performance Comparison basehead

Total Elapsed Time: 43.06ms → 42.57ms (-1.1%)
CPU Baseline: 79.10µs → 104.14µs (+31.7%) ⚠️
Benchmark ID: terminal-alloc

timing - Function execution time metrics.

+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| Function                        | Calls              | Avg                            | P95                            | Total                        | % Total                      |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::main                  | 1 → 1 (+0.0%)      | 42.80ms → 42.34ms (-1.1%)      | 42.83ms → 42.37ms (-1.1%)      | 42.80ms → 42.34ms (-1.1%)    | 100.00% → 100.00% (+0.0%)    |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::parse_terminal_output | 10 → 10 (+0.0%)    | 3.41ms → 3.37ms (-1.2%)        | 3.47ms → 3.52ms (+1.4%)        | 34.07ms → 33.71ms (-1.1%)    | 79.59% → 79.63% (+0.1%)      |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::resize_and_scrollback | 10 → 10 (+0.0%)    | 104.55µs → 109.49µs (+4.7%)    | 352.77µs → 377.86µs (+7.1%)    | 1.05ms → 1.09ms (+3.8%)      | 2.44% → 2.59% (+6.1%)        |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+

alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls).

+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+----------------------------+
| Function                        | Calls              | Avg                            | P95                            | Total                        | % Total                    |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+----------------------------+
| terminal::parse_terminal_output | 10 → 10 (+0.0%)    | 5.0 MB → 5.0 MB (+0.0%)        | 5.0 MB → 5.0 MB (+0.0%)        | 50.2 MB → 50.2 MB (+0.0%)    | 76.31% → 76.31% (+0.0%)    |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+----------------------------+
| terminal::main                  | 1 → 1 (+0.0%)      | 10.4 MB → 10.4 MB (+0.0%)      | 10.4 MB → 10.4 MB (+0.0%)      | 10.4 MB → 10.4 MB (+0.0%)    | 15.76% → 15.76% (+0.0%)    |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+----------------------------+
| terminal::resize_and_scrollback | 10 → 10 (+0.0%)    | 533.7 KB → 533.7 KB (+0.0%)    | 891.0 KB → 891.0 KB (+0.0%)    | 5.2 MB → 5.2 MB (+0.0%)      | 7.93% → 7.93% (+0.0%)      |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+----------------------------+
terminal-timing

Performance Comparison basehead

Total Elapsed Time: 43.54ms → 43.22ms (-0.7%)
CPU Baseline: 89.85µs → 107.47µs (+19.6%) ⚠️
Benchmark ID: terminal-timing

timing - Execution duration of functions.

+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| Function                        | Calls              | Avg                            | P95                            | Total                        | % Total                      |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::main                  | 1 → 1 (+0.0%)      | 43.28ms → 43.01ms (-0.6%)      | 43.29ms → 43.02ms (-0.6%)      | 43.28ms → 43.01ms (-0.6%)    | 100.00% → 100.00% (+0.0%)    |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::parse_terminal_output | 10 → 10 (+0.0%)    | 3.44ms → 3.41ms (-0.9%)        | 3.53ms → 3.47ms (-1.7%)        | 34.42ms → 34.15ms (-0.8%)    | 79.54% → 79.39% (-0.2%)      |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
| terminal::resize_and_scrollback | 10 → 10 (+0.0%)    | 103.43µs → 103.99µs (+0.5%)    | 356.86µs → 349.69µs (-2.0%)    | 1.03ms → 1.04ms (+1.0%)      | 2.39% → 2.42% (+1.3%)        |
+---------------------------------+--------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+
tools-alloc

Performance Comparison basehead

Total Elapsed Time: 401.24ms → 405.46ms (+1.1%)
CPU Baseline: 80.92µs → 85.09µs (+5.2%)
Benchmark ID: tools-alloc

timing - Function execution time metrics.

+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| Function                | Calls              | Avg                            | P95                            | Total                          | % Total                      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| tools::main             | 1 → 1 (+0.0%)      | 401.01ms → 405.21ms (+1.0%)    | 401.08ms → 405.27ms (+1.0%)    | 401.01ms → 405.21ms (+1.0%)    | 100.00% → 100.00% (+0.0%)    |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| tools::search_warm_tree | 10 → 10 (+0.0%)    | 38.94ms → 39.36ms (+1.1%)      | 39.52ms → 39.98ms (+1.2%)      | 389.40ms → 393.60ms (+1.1%)    | 97.10% → 97.14% (+0.0%)      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+

alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls).

+-------------------------+--------------------+------------------------------+------------------------------+------------------------------+----------------------------+
| Function                | Calls              | Avg                          | P95                          | Total                        | % Total                    |
+-------------------------+--------------------+------------------------------+------------------------------+------------------------------+----------------------------+
| tools::search_warm_tree | 10 → 10 (+0.0%)    | 1.4 MB → 1.4 MB (+0.0%)      | 1.4 MB → 1.4 MB (+0.0%)      | 14.2 MB → 14.2 MB (+0.0%)    | 99.40% → 99.40% (+0.0%)    |
+-------------------------+--------------------+------------------------------+------------------------------+------------------------------+----------------------------+
| tools::main             | 1 → 1 (+0.0%)      | 87.8 KB → 87.8 KB (+0.0%)    | 87.9 KB → 87.9 KB (+0.0%)    | 87.8 KB → 87.8 KB (+0.0%)    | 0.60% → 0.60% (+0.0%)      |
+-------------------------+--------------------+------------------------------+------------------------------+------------------------------+----------------------------+
tools-timing

Performance Comparison basehead

Total Elapsed Time: 444.49ms → 467.59ms (+5.2%)
CPU Baseline: 91.65µs → 92.77µs (+1.2%)
Benchmark ID: tools-timing

timing - Execution duration of functions.

+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| Function                | Calls              | Avg                            | P95                            | Total                          | % Total                      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| tools::main             | 1 → 1 (+0.0%)      | 444.28ms → 467.37ms (+5.2%)    | 444.33ms → 467.40ms (+5.2%)    | 444.28ms → 467.37ms (+5.2%)    | 100.00% → 100.00% (+0.0%)    |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+
| tools::search_warm_tree | 10 → 10 (+0.0%)    | 43.23ms → 45.54ms (+5.3%)      | 43.45ms → 52.53ms (+20.9%) ⚠️  | 432.31ms → 455.44ms (+5.4%)    | 97.30% → 97.45% (+0.2%)      |
+-------------------------+--------------------+--------------------------------+--------------------------------+--------------------------------+------------------------------+

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