3 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
a5bd241a4a feat(labs): redesign landing inventory with clustered card grid
Replace the two flat markdown tables with a clean card grid grouped
into thematic clusters per volume. Each card shows lab number, title,
and core question only — no chips, ribbons, or accent rainbow. Single
accent color matches the labs site brand (#2563EB).

Lab 07 (Kernel Fusion Dividend) moves from Architecture to Performance
& Deployment — kernel fusion is a runtime optimization, not a
model-design choice. Capstones get their own dedicated cluster and
span the full grid row; distinction comes from layout and placement,
not color.

Verified responsive from 320px to 1440px with zero horizontal overflow.
Adds tools/capture_landing_shots.py — Playwright-based screenshot
helper used during the redesign, reusable for future inventory work.
2026-04-25 16:22:53 -04:00
Vijay Janapa Reddi
5fb95bfd19 test: add dynamic widget interaction testing to CI & fix WASM worker path resolution
This commit introduces the following fixes to the Marimo labs architecture:
1. Interactive Testing: Updates test_widget.py to dynamically extract, simulate clicks, and verify the interactive states hidden behind mo.stop() to ensure execution pipelines don't crash.
2. Ledger Continuity: Fixes an issue in 4 Volume 2 labs where the ledger.save() was mistakenly passed a string key (e.g. 'v2_05') instead of an integer.
3. WASM Relative Pathing: Modifies tools/build_site.sh to duplicate built Pyodide wheel assets into vol1/wheels and vol2/wheels to satisfy Pyodide's worker.js relative path resolution, which was causing the labs to hang at startup on GitHub Pages with BadZipFile errors.
2026-04-25 13:45:03 -04:00
Vijay Janapa Reddi
1a8a9dcf21 refactor(labs): add zone comments, ledger.save, and mo.stop gates across all labs
Automated protocol compliance fixes applied to 31 labs:
- Added ZONE A/B/D section markers to 14 labs missing them
- Added ledger.save(chapter=N) to 15 labs missing it
- Added mo.stop() prediction gates to 31 labs missing them

Protocol test results improved from 102 xfails to 42 xfails.
Remaining xfails are content-level gaps (hardware tier diversity,
mlsysim registry usage, minimum part counts) that require authoring.

All 70 engine tests pass — no labs broken by structural changes.
2026-03-22 08:57:17 -04:00