generated from coulomb/repo-seed
research: Jupyter Notebooks deep dive; UC-84 (SHARD-WP-0004 T3)
.ipynb JSON cells + embedded computed outputs with fragile execution provenance; derived output stored inside the source. Non-Markdown/lossy; kernel = capability, default = present snapshot + static render. Enriches UC-54/55/59/35; links UC-32/83/79. Marks T3 done. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1082,6 +1082,34 @@ build system (driving derivation is capability-gated). Feeds SHARD-WP-0002 T12
|
||||
named-chunk transclusion).
|
||||
**Priority:** Later
|
||||
|
||||
---
|
||||
|
||||
### UC-84 — Attach or project a computational notebook with computed-output provenance
|
||||
|
||||
**Actor:** Orchestrator / adapter
|
||||
**Goal:** Attach/project a **computational notebook** (`.ipynb`) preserving its **cell
|
||||
structure** (markdown / code / output) and its **embedded computed outputs**, surfacing each
|
||||
output **as a snapshot carrying its (weak) execution provenance** (run count, environment
|
||||
not guaranteed); re-execution is **capability-gated** — the default is to present the stored
|
||||
snapshot plus an offered static rendered projection.
|
||||
**Source:** wikiengines, intent
|
||||
**Notes:** A Jupyter notebook is a **JSON document** of ordered cells where code cells own
|
||||
**MIME-bundle outputs captured from the last run**
|
||||
(`research/260614-jupyter-deep-dive/findings.md`). Its defining trait is that the **derived
|
||||
output is stored *inside* the canonical source** — the source/projection line runs *through*
|
||||
the document — and its provenance is **fragile** (`execution_count` may be out-of-order;
|
||||
environment/data/versions are not captured by `nbformat`). Treatment: keep the JSON as
|
||||
canonical payload (non-Markdown; any Markdown projection is lossy and directional, UC-55/
|
||||
UC-59); present captured outputs as **derivation-projection snapshots** (UC-83) marked "run
|
||||
N, environment unguaranteed" (never as live/authoritative, union-without-erasure); offer
|
||||
nbconvert/nbviewer static render; **re-execute or parameterize (papermill) only as a
|
||||
capability**, never assumed (shard-wiki is not a kernel host). Cell `id` (nbformat 4.5+) is
|
||||
the sub-page address for anchoring/transclusion (UC-32/UC-35); JSON diffs are noisy →
|
||||
text-pairing (Jupytext) / cell-aware merge (nbdime) for history (T13). Feeds SHARD-WP-0002
|
||||
T12 (notebook page shape: outputs embedded in source), T15 (lossy non-Markdown translation;
|
||||
MIME opacity), T13 (paired-text history), T16 (output = derivation-projection snapshot).
|
||||
**Priority:** Later
|
||||
|
||||
## D. Addressing, identity & query
|
||||
|
||||
*Span / identity addressing, transclusion-as-reference, dimensional navigation, and query over the union.*
|
||||
@@ -1583,7 +1611,7 @@ marker's true lineage is its per-source mapping subsection below):
|
||||
| ⚓ | wiki.js | ⊞ | federated-wiki | ⬡ | wikibase |
|
||||
| ⎇ | forge-wikis (Gitea/GitLab/GitHub) | ⊡ | tiddlywiki | ⊟ | ikiwiki |
|
||||
| ◧ | quip | ⊙ | mojomojo | ⊚ | oddmuse (UseModWiki reinforces, no marker) |
|
||||
| ⊛ | literate-programming (WEB/weave/tangle) | | | | |
|
||||
| ⊛ | literate-programming (WEB/weave/tangle) | ⊜ | jupyter (notebooks) | | |
|
||||
|
||||
| UC | c2 research | yawex research | federation research | wikiengines research | INTENT |
|
||||
|----|-------------|----------------|---------------------|----------------------|--------|
|
||||
@@ -1652,6 +1680,7 @@ marker's true lineage is its per-source mapping subsection below):
|
||||
| UC-81 | | | | ⊙ | ✓ |
|
||||
| UC-82 | ✓ | | | ⊚ | ✓ |
|
||||
| UC-83 | | | ✓⊛ | | ✓ |
|
||||
| UC-84 | | | | ⊜ | ✓ |
|
||||
| UC-08 | ✓ | | |
|
||||
| UC-09 | ✓ | | |
|
||||
| UC-10 | ✓ | | |
|
||||
@@ -2341,6 +2370,37 @@ snapshot** — never present a derivation without its source link (union-without
|
||||
Architecture logged for `SHARD-WP-0002` (T12/T16): one-source-many-projections page shape,
|
||||
replication- vs derivation-projection, named-chunk transclusion.
|
||||
|
||||
### jupyter mapping
|
||||
|
||||
(⊜ UC-84 lineage = the **Jupyter deep dive**, `research/260614-jupyter-deep-dive/findings.md`;
|
||||
a concrete computational content type, not a wiki engine.)
|
||||
|
||||
| Jupyter mechanism (findings §) | Catalog UC |
|
||||
|--------------------------------|------------|
|
||||
| `.ipynb` JSON: ordered cells, code cells own embedded MIME-bundle outputs (§1) | UC-84 (new) |
|
||||
| Captured outputs stored *inside* the source; weak `execution_count` provenance (§2) | UC-84; links UC-83 (derivation-projection snapshot) |
|
||||
| JSON + MIME bundles = non-Markdown; nbconvert→MD lossy & directional (§3) | UC-55 / UC-59 (enriched) |
|
||||
| Code cell = computation-defined content (§1) | UC-54 (enriched) |
|
||||
| Cell `id` (nbformat 4.5+) = sub-page address (§4) | UC-35 (enriched); links UC-32 |
|
||||
| Noisy JSON diffs → Jupytext pairing / nbdime cell-merge (§3) | links UC-43, T13 |
|
||||
| nbstripout/pairing = source-canonical, outputs-derived (§3) | links UC-79, UC-83 |
|
||||
|
||||
Note: Jupyter is the **dominant computational document** and the concrete test of T1's
|
||||
projection split: nbconvert/nbviewer are **derivation-projections**, but the twist is that
|
||||
**captured outputs are stored back inside the canonical source** (the source/projection line
|
||||
runs *through* the document) with **fragile provenance** (out-of-order `execution_count`;
|
||||
environment uncaptured). The page model (T12) gains a **notebook shape** — ordered cells with
|
||||
code cells owning embedded computed outputs — distinct from prose, typed records,
|
||||
query-defined, inline-embedded objects (Quip/Notion), typed-graph (Wikibase), and the
|
||||
literate one-source-many-projection shape (UC-83); its new attribute is *derived output
|
||||
embedded in source*. **Boundary recorded:** shard-wiki is **not a kernel host** — default to
|
||||
attach + present captured outputs as snapshots marked "run N, environment unguaranteed"
|
||||
(never live, UC-84) + offer static render; re-execution/papermill are **capabilities**. Keep
|
||||
JSON canonical (Markdown projection is lossy, UC-55/59); prefer paired-text storage / nbdime
|
||||
for history when the shard is git. Architecture logged for `SHARD-WP-0002` (T12/T15/T13/T16):
|
||||
notebook page shape, lossy non-Markdown + MIME opacity, paired-text history, output =
|
||||
derivation-projection snapshot.
|
||||
|
||||
---
|
||||
|
||||
## Open questions
|
||||
|
||||
Reference in New Issue
Block a user