Skip to content

docs: recommend Pyodide playground path - #177

Merged
lbliii merged 1 commit into
mainfrom
codex/research-playground-feasibility
Jul 7, 2026
Merged

docs: recommend Pyodide playground path#177
lbliii merged 1 commit into
mainfrom
codex/research-playground-feasibility

Conversation

@lbliii

@lbliii lbliii commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • evaluate the current Pyodide/WASM and Chirp/Railway playground paths
  • recommend a Pyodide-first static playground now that Pyodide 314 ships CPython 3.14
  • define a half-day compatibility gate, a 2–3 day browser MVP, safety boundaries, proof requirements, effort estimates, and the server-side fallback

Closes #170.

Key finding

The issue's original browser-runtime risk has changed: stable Pyodide 314.x now uses CPython 3.14, while Kida 0.10.0 publishes a dependency-free py3-none-any wheel. A module Web Worker can therefore remove the Python-install funnel without creating an untrusted public render service.

The plan does not claim proven compatibility yet. Outbound npm/CDN requests timed out in this audit environment, so installing and rendering with the published wheel remains the first explicit implementation gate.

Verification

  • make lint
  • make ty
  • make docs (build completes; reports the existing Bengal /llms.txt false-positive class)
  • git diff --cached --check
  • evidence checked against current Pyodide, PyPI, Railway/Railpack, and chirp-ui sources linked from the recommendation

Steward Notes

  • Consulted: planning steward and Railway deployment workflow
  • Accepted: browser-first static architecture, JSON-only context, module worker, worker replacement for timeouts, and Chirp/Railway as a follow-up fallback
  • Deferred: public deployment, new APIs/config, collaboration, persistence, arbitrary Python execution, and free-threading claims
  • Safety: SandboxedEnvironment is explicitly treated as defense-in-depth, not an isolation boundary
  • Required proof: cross-browser compatibility gate, cold/warm measurements, diagnostics/render coverage, timeout recovery, CSP/preview review, and browser smoke tests
  • No runtime collateral: this PR adds a research artifact only and changes no Kida behavior, public API, dependencies, CLI, schemas, examples, or deployment configuration

@lbliii
lbliii marked this pull request as ready for review July 7, 2026 14:33
Copilot AI review requested due to automatic review settings July 7, 2026 14:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a one-page research recommendation (closing #170) for how to build a “try Kida” playground without requiring local Python installation, favoring a Pyodide-first static approach with a documented Chirp/Railway fallback.

Changes:

  • Introduces a feasibility/recommendation document outlining architecture, safety boundaries, phased effort estimates, and proof gates for a Pyodide module-worker playground.

Comment on lines +72 to +74
- Install `kida-templates==0.10.0` from its published wheel.
- Prove `SandboxedEnvironment.from_string()`, static diagnostics, rendering,
typed defs/slots, and one Python 3.14 t-string example.
@lbliii
lbliii merged commit bb21150 into main Jul 7, 2026
11 checks passed
@lbliii
lbliii deleted the codex/research-playground-feasibility branch July 7, 2026 14:38
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.

Task: Playground feasibility spike — try Kida without installing Python 3.14

2 participants