docs: browser execution tool design note - #351
Draft
neuromechanist wants to merge 1 commit into
Draft
Conversation
Client-executed execute_code tool: Pyodide in a widget worker, LangGraph interrupt/resume on the server, per-community runtime config with lockfile-pinned lazy loading. NEMAR is the first adopter; the design is community-agnostic.
Member
Author
|
Companion NEMAR decision: nemarOrg/nemar-cli#1292 (ADR 0049, supersedes ADR 0025). |
This was referenced Sep 8, 2026
Member
Author
|
First adopter's engine work: sccn/eegprep#324 (eegprep installable under Pyodide, ONNX ICLabel loaded through the runtime's JavaScript library hook). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design note for a community-agnostic, client-executed
execute_codetool: code runs in the user's browser in a Pyodide worker owned by the widget, the agent loop stays in LangGraph on the server, and the two meet throughtool_request/tool_resultevents with interrupt-and-resume. Lazy loading maps auv-style workflow ontoloadPackagesFromImports,micropip, and a per-community pinned lockfile. NEMAR is the first adopter; EEGLAB, HED, and BIDS adopt through configuration.File:
.context/browser-execution-tool-design.mdCompanion decision on the NEMAR side: nemarOrg/nemar-cli ADR 0049 (PR linked in a comment below).
Draft for the owner's review. No code changes. The pr-review-toolkit pass was skipped because this PR is a design document; it will run before the PR leaves draft.