← All extensions
Notebook Lab banner

Notebook Lab

ivyx

Adds runnable lesson notebooks to the Learn extension, with cells your tutor can gate

Notebook Lab

The lesson runtime. It renders a lesson notebook, runs its cells against a Python kernel, and runs its agent tasks against an MCP server you wrote. On its own it teaches nothing — the Learn extension supplies the pedagogy.

What you can do

  • Open a *.lesson.ipynb file and work through it cell by cell
  • Run cells against the kernel you pick, with streaming output
  • Watch a real agent decide whether to call the tool you wrote
  • Ask the tutor about the cell you are stuck on

Requirements

  • The Learn extension. It plans every lesson: which cells are gated, which hints exist, what your tutor says. Without it a lesson does not open, because a lesson with its gates silently switched off is not a lesson.
  • A Python kernel, for lessons that run code
  • A connected MCP server, for lessons that test one

How it fits together

This extension reads no pedagogy. When you open a lesson it hands the notebook to the Learn extension and gets back per-cell directives — gated or not, read-only or not, where to mount the prediction box and the diagnosis. That is why the lesson format can grow without this extension changing.

Direction Surface
Lab asks Learn to plan a lesson edu.lesson.plan
Lab reports a run edu.progress.recordRun, edu.progress.recordAgentRun
Lab asks Learn to render a surface edu.ui.mountStrip, edu.ui.mountPredict, edu.ui.mountDiagnosis
Learn re-resolves a gate edu.lesson.updated event
Learn writes authored pedagogy edu.lab.notebook.applyCellMeta

Status

Progress is single-user: it belongs to whoever has the workspace open, because there is no learner identity yet. That lives in the Learn extension.

Getting started

Double-click a *.lesson.ipynb file, or pick a lesson from the Learn sidebar. A plain .ipynb still opens in the professional notebook editor.