# 260614 — Jupyter Notebooks deep dive Date: 2026-06-14 · Source: **SHARD-WP-0004 T3** ## What this is A deep dive into **Jupyter Notebooks**: the **`.ipynb` JSON** document (ordered cells: markdown / code+outputs / raw), **kernels**, **embedded computed outputs** (MIME bundles), and **execution-count provenance**. The dominant modern computational document and the concrete case where the **derived output is captured and stored *inside* the source** with real-but-fragile provenance. ## Why it matters - Tests the T1 **replication- vs derivation-projection** split on the dominant real artifact and adds the wrinkle that **outputs are stored back inside the source** — the source/ projection line runs *through* the document. - The page model (T12) must carry a **notebook shape**: ordered cells with code cells owning embedded computed outputs that have **weak execution provenance** (run order, environment not captured). - Non-Markdown + lossy translation (T15): JSON+MIME bundles; nbconvert→Markdown is lossy and directional. JSON diffs are noisy → Jupytext text-pairing / nbdime (T13). ## Yield - **UC-84** (new): attach/project a computational notebook preserving cell structure + embedded outputs, surfacing outputs as **snapshots with weak execution provenance**; re-execution **capability-gated**, default = present snapshot + static render. - Enrich **UC-54, UC-55, UC-59, UC-35**; links **UC-32, UC-83, UC-79**. ## Contents | Path | Role | |------|------| | `findings.md` | `.ipynb` model, kernels/execution-count fragility, ecosystem (nbconvert/Jupytext/papermill/nbdime/nbstripout), capability profile, INTENT mapping, UC seed, architecture notes, open questions |