Skip to content

Design: JupyterLite demo page (issue #21)#22

Merged
IanMayo merged 3 commits into
mainfrom
claude/speckit-issue-21-hjjn3n
Jul 4, 2026
Merged

Design: JupyterLite demo page (issue #21)#22
IanMayo merged 3 commits into
mainfrom
claude/speckit-issue-21-hjjn3n

Conversation

@IanMayo

@IanMayo IanMayo commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Design specification (/speckit-specify) for issue #21 — Add a JupyterLite demo page to the Pages site (in-browser matplotlib from tabular data).

Adds specs/049-jupyterlite-demo/spec.md describing a self-contained JupyterLite demo published in its own subdirectory of the existing Pages site, rendering matplotlib figures inline in the browser (Pyodide) from a generic sample tabular dataset — no server, no accounts.

Numbering note

GitHub issue #21 is a newly filed feature and is unrelated to the pre-existing specs/021-file-tree directory — the spec-directory and GitHub-issue numbering systems are independent. This spec is filed under the next sequential spec directory, 049-jupyterlite-demo.

What's in this spec

  • 3 prioritised user stories: (P1) see in-browser matplotlib plotting on sample tabular data; (P2) discover the demo from the landing page; (P3) reproduce the build from one documented command.
  • 10 functional requirements covering the dedicated subdirectory, inline browser rendering, at least one example notebook, landing-page link, cold-load support in Chrome/Firefox, single-command reproducible build, additive Pages-deploy step, independent pins, generic sample data, and documented limitations.
  • 5 measurable, technology-agnostic success criteria.
  • Edge cases: cold-load latency, CDN/offline unavailability, unsupported browsers, payload weight, sample-data scoping.

Constitution alignment

  • Principle IV (browser-only, no backend) — satisfied; runtime CDN fetch of pinned static assets is permitted.
  • Principle VI (pin & iterate) — the demo has its own pins and must not alter the frozen playground (FR-008); online-only limitation is documented (FR-010). The JupyterLite toolchain pins are flagged as a planning-stage constitution Technology-Constraints amendment, not a silent dependency addition.

Files

  • specs/049-jupyterlite-demo/spec.md — the specification
  • specs/049-jupyterlite-demo/checklists/requirements.md — quality checklist (all items pass, no [NEEDS CLARIFICATION] markers)
  • .specify/feature.json — points downstream speckit commands at the new feature directory

Next phase

Spec passes all quality-checklist items and carries no clarification markers, so it is ready for /speckit-plan (or /speckit-clarify if the maintainer wants to lock hosting-path / toolchain details first).

🤖 Generated with Claude Code

https://claude.ai/code/session_01A9Nsrf2pVqE99cBWSnqQQz


Generated by Claude Code

Draft specification for a self-contained JupyterLite demo published
in its own subdirectory of the Pages site, rendering in-browser
matplotlib figures from sample tabular data. Additive to the frozen
playground with independent pins.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A9Nsrf2pVqE99cBWSnqQQz
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

🧹 PR preview for #22 has been removed now that the PR is closed.

github-actions Bot pushed a commit that referenced this pull request Jul 4, 2026
claude added 2 commits July 4, 2026 15:49
Phase 0 research + Phase 1 design artefacts: plan.md, research.md,
data-model.md, contracts/ (site-surface, build-command), quickstart.md.
Flags the required constitution Technology-Constraints amendment
(JupyterLite is a new infrastructural dependency) and scopes README
pins + docs/limitations.md into the implementation. Additive build via
jupyter lite build into _site/jupyterlite/, frozen playground untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A9Nsrf2pVqE99cBWSnqQQz
23 tasks across 6 phases, organized by the 3 user stories. Setup
scaffolds the isolated jupyterlite/ source with pinned toolchain;
Foundational lands the required constitution amendment, README pins,
and limitations entry; US1 (MVP) renders a matplotlib figure; US2
adds the welcome-page link; US3 wires the additive build into deploy
and PR-preview workflows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A9Nsrf2pVqE99cBWSnqQQz
@IanMayo IanMayo merged commit 8e3d70b into main Jul 4, 2026
2 checks passed
@IanMayo IanMayo deleted the claude/speckit-issue-21-hjjn3n branch July 4, 2026 16:30
github-actions Bot added a commit that referenced this pull request Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants