Auracle docs
Auracle/Docs/Jupyternaut

Jupyternaut

The AI assistant in your notebook quietly knows which datasets you have and which are worth using — suggesting them when relevant, staying out of the way otherwise.

Overview

Jupyternaut is the AI persona that lives in the JupyterLab side panel. Out of the box it's a general code assistant. When Auracle's Jupyternaut extension is loaded, every Jupyternaut session gets an AmbientContext — an immutable snapshot of "what the assistant knows about this install's data" — prepended to the system prompt and surfaced through every integration layer Jupyter AI exposes.

The result: when you ask "what's the realized vol of BTC over the last 30 days," the assistant already knows you have polygon.io/bars.daily and coinalyze/funding_rates in your catalog and can write code against them without you having to introduce them.

Ambient AI

AmbientContext is an immutable dataclass built per session and refreshed when the catalog changes (debounced ~5 s). It contains:

What gets injected

A compact ~15-line block is prepended to the assistant's system prompt. It looks like this:

─── Auracle ambient context (notebook: btc_research.ipynb) ───
The user has these RELEVANT datasets in their Auracle catalog:
  • polygon.io.bars.daily            equities       5.0y    useful
  • polygon.io.options.chains        equities       2.0y    useful
  • coinalyze.funding_rates          crypto         3.0y    useful
  • coingecko.market_chart           crypto         8.0y    useful
  • ibkr.bars.minute                 equities       1.0y    useful

Use these datasets ONLY when explicitly relevant to the user's code.
DO NOT call provider APIs without showing the user the call first;
ask 'Want me to use X for this?' when relevant.
The user can pin/exclude datasets via /use and /forget.
─── end Auracle context ───

Inspect the live injection at any time with auracle forge ambient.

The kill switch

Set AURACLE_FORGE_AMBIENT=0 in ~/auracle/.env and restart the Jupyter container to disable the injection entirely. The assistant returns to its stock behavior; no Auracle awareness.

Integration points

Auracle wires into every Jupyter AI extension point:

SurfaceWhat you see
System prompt The catalog summary is prepended to every assistant turn.
Slash commands /use, /forget, /scan, /catalog. Deterministic, no LLM tokens.
@-mentions Type @ to pick any cataloged dataset; the assistant expands it into a real fetch.
Tab-complete Type auracle. in a cell and get completions for every cataloged capability.
Sidebar widget The live catalog, docked left, filtered to the notebook in focus.

Slash commands

CommandWhat it does
/use <dataset> Pin a dataset to the current notebook. The assistant will reach for it preferentially.
/forget <dataset> Exclude a dataset from this notebook's context. Useful when the assistant keeps suggesting yfinance and you want it to stop.
/scan Trigger a Forge rescan (Discovery + Probe). Streams progress into the chat.
/catalog [filter] Print the current catalog as a table inside the chat, optionally filtered by substring.
/promote <candidate_id> Promote a Forge-generated strategy candidate out of _forge/ into your active strategies. Requires explicit confirmation.

@-mentions

Typing @ opens a fuzzy-matched picker over every catalog entry with verdict useful. Pick one and it inserts a token like @polygon.bars.daily; the assistant treats that as a concrete reference and will write code that imports the right Auracle adapter.

Mention expansion

When you ask, "Plot @polygon.bars.daily for AAPL", the assistant rewrites the call to:

from auracle.adapters import polygon

bars = polygon.bars(symbol="AAPL", resolution="1d", lookback="2y")
bars["close"].plot(title="AAPL daily close — polygon.io")

The adapter is generated by the Forge at probe time. The mention contract is the same whether the adapter is generated or the assistant falls back to the raw HTTP route.

Mentioning excluded datasets

If you /forget a dataset, it still appears in the @-mention list (you can always explicitly call it back) but is no longer suggested ambiently. The kill switch affects both ambient suggestion and the @-list; a fully-disabled Forge shows no mentions at all.

Tip The auracle forge ambient CLI shows exactly what your assistant currently sees. Useful for debugging "why is Jupyternaut suggesting yfinance when I have polygon?" — usually the answer is a stale catalog signature.