Releases: tkpratardan/lemma
Releases · tkpratardan/lemma
Release list
v3.1.1
First release. Lemma drives a live notebook instead of a static file: it reads real kernel state, applies a data scientist's rigor to whatever question you're asking, and works across ten agent hosts from one install.
What ships
- The persona (
AGENTS.md): names the question's mode first, sets a baseline before a complex model, splits data the way deployment will actually see it, never evaluates on training data, sets a seed. It layers on top of a repo's own rules instead of replacing them. - Live-notebook tools across three surfaces:
vscode_*for VS Code/Cursor,pycharm_*/jupyterlab_*plus sharednotebook_*verbs for PyCharm (disk + kernel) and JupyterLab (real-time collaboration, no plugin needed). The agent reads what the kernel actually holds instead of guessing from a prior cell. - Nine question-mode skills:
lemma-eda,lemma-baseline,lemma-model,lemma-describe,lemma-inference,lemma-causal,lemma-unsupervised,lemma-leakage,lemma-review. The mode picks the method, so a causal question gets causal rigor instead of predict-track defaults. - One-command install across ten hosts: Claude Code, Cursor, VS Code, Windsurf, Claude Desktop, Codex, GitHub Copilot CLI, Antigravity/Gemini CLI, opencode, OpenClaw.
lemma --configure vscode|pycharm|jupyterrestricts a host to one surface. - A human-in-the-loop diff gate in VS Code/Cursor: every AI edit renders as Accept / Always Allow / Discard, so the agent acts without acting unsupervised.
- JupyterLab auto-discovery: when lemma runs colocated with a Jupyter server, a local terminal, or spawned by Jupyter AI's own ACP integration, it finds the running server itself instead of asking for a URL.
- A drift check: after any notebook-mutating call, a one-line nudge asks whether the result still serves the stated goal, on Claude Code, Codex, Copilot CLI, and Cursor.
- Update awareness: the installer checks npm's registry and tells you when a newer version exists, before it changes anything else.
Fixed
- Every plugin-route host (Claude Code, Codex, Copilot, Antigravity, Gemini CLI) installs via a plain git fetch with no
node_modules. The MCP server used to crash on startup with zero tools registered. It now bundles into a single dependency-freebin/lemma-mcp.mjs. - A notebook path with a subdirectory,
notebooks/foo.ipynb, broke JupyterLab's connection: the code encoded the whole path, turning/into%2F, which Jupyter's server never reads as a directory separator. - JupyterLab's real-time collaboration silently failed on servers running
jupyter_server_documents(Jupyter AI's newer RTC backend). The old session endpoint 404s there; lemma now falls back to that backend's own file-ID lookup. - Claude Code's plugin install skipped the persona-delivery hook on an unverified assumption that MCP's own
instructionsfield would deliver it instead. It often doesn't. The hook fires regardless now. - Codex and Copilot used the wrong CLI verbs, and Copilot delivered the persona twice, once by hook, once by MCP.