A notebook agent should show the diff
A preview of mojojojo Notebooks: reactive Python and Mojo cells, reviewed AI edits, immutable revisions, and one execution and billing path.
This is a product preview, not a launch announcement. Mojojojo
Notebooks is being designed around the open mojo-notebook
runtime. The local document remains plain Markdown; the hosted layer adds
revisions, sharing, sessions, quotas, and audited actions.
The current boundary and non-negotiable tests live in the notebook design document.
The difficult part is not drawing cells. It is deciding what an AI action is allowed to change and which execution path a cell uses.
One execution path
A notebook cell should use the same planner, sandbox, compiled-code cache, and billing ledger as an editor or API run. Python can stay in the browser when it fits. Packages, Mojo, GPU work, and longer jobs can be placed remotely. Creating a second “notebook executor” would create two security boundaries and two answers to the question “what did this run cost?”
Outputs are not source
Source revisions are immutable. Large outputs are separate content-addressed artifacts. Re-running a parent marks descendants stale instead of rewriting history, and applying an AI proposal creates an ordinary reviewed revision.
Plugins declare capabilities
Importers, renderers, and actions are the three planned plugin points. A plugin declares capabilities such as network or artifact access and the host must allow them. Plugins do not receive account secrets, database handles, or a live kernel object. Renderer HTML is treated as untrusted.
The first intended slice is deliberately narrow: create and revise notebooks, import Marimo, edit Markdown/Python/Mojo cells, run through the existing planner, and offer explain/fix/generate actions as reviewable diffs. We will call it live when those boundaries have tenant-isolation, revision-conflict, sanitisation, and billing-parity tests.
Product notes describe what is live at publication time. Anything still being designed is marked as a preview; source repositories carry their own build and test instructions.
