| Ticket Hash: | 27ca3ef24768bdc5f71a61a4aa777ea8b139d817 | ||
| Title: | Lab: specify LabDoc and render/run protocols | ||
| Status: | Active | Type: | Feature_Request |
| Severity: | Normal | Priority: | High |
| Subsystem: | lab | Resolution: | |
| Last Modified: |
2026-09-20 14:42:42 51.7 days ago |
Created: |
2026-08-25 20:23:25 77.5 days ago |
| Version Found In: | |||
| Description: | ||||
|
Stage 0 architecture for the Lab wiki.
Define a versioned LabDoc cell envelope and two protocol profiles: 1. lab.render/1 for deterministic trusted rendering with no filesystem, network, clock, randomness, subprocess, or host-code capability. 2. lab.run/1 for arbitrary code compiled to WebAssembly and run with explicit WASI-style capabilities and resource limits. Specify renderer identity/digest, source and dependency digests, MIME-safe block outputs, diagnostics, event records, artifact references, cache keys, compatibility/version negotiation, and failure semantics. The output allowlist must initially exclude active HTML and JavaScript. Acceptance: - Protocol examples cover Markdown, math, GPCR, stdout, SVG/PNG, diagnostics, and cached results. - Pure rendering and executable cells cannot be confused by a producer or consumer. - The design identifies which data is versioned in Fossil and which data is runtime-only. - Open user decisions are recorded on the Lab wiki. | ||||