3 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
7fdb49ee5c feat(labs): gold-standard polish — stakeholders, hover templates, test fixes
- Add 16 stakeholder messages to Vol2 labs 10, 11, 12, 15 (4 per lab)
- Add 32 Plotly hover templates across 6 labs with units and precision
- Fix Lab 00 DecisionLog dataflow bug (missing from cell return + signature)
- Fix test_widget slider regex to handle Python underscore literals (100_000)
- Fix test_widget slider count test: check total controls, not just sliders
- Fix test_engine to skip gracefully when marimo is not installed
- Standardize 4 chart heights from 420-450px to 380px

Tests: 1,326 passed, 28 skipped, 0 failed (full suite)
2026-04-02 07:14:13 -04:00
Vijay Janapa Reddi
171e9a6de0 fix(labs): fix style.py f-string escaping, lab_16 cell dataflow, and clean up test suite
- style.py: escape CSS @keyframes braces for Python f-string (was breaking all 33 labs)
- lab_16: rename _axes/_target_met/_effective_gain to remove underscore prefix so
  Marimo dataflow wires them between TABS and LEDGER_HUD cells
- components.py: add FailureBanner component for OOM/failure state visuals
- test_engine.py: remove test_app_defines_core_variables (always skipped, Marimo
  cells don't export to module namespace)
- CI workflow: remove 4 redundant bash validation steps (pytest covers them)
2026-03-22 08:43:24 -04:00
Vijay Janapa Reddi
3a555deabd feat(labs): rebuild all 32 labs with chapter-grounded parts, ed-tech review fixes, and test infrastructure
Complete lab curriculum rebuild:
- 16 Vol1 + 16 Vol2 labs (33,368 lines across 32 files)
- Each lab has 4-5 pedagogically grounded parts + synthesis
- Parts proposed by agents reading actual chapter QMD files
- Ed-tech review identified and fixed: redundancies, time overruns, mlsysim gaps
- V2-03 + V2-06 merged into "Communication at Scale"
- 17 old/superseded files deleted (pre-merger, pre-renumber)

Structural fixes applied:
- V1-01 Part C replaced (Silent Decay -> Triad Across Targets)
- V1-03 grounded in mlsysim (Engine.solve for OOM, Engine.sweep for configs)
- V1-09 Part C replaced (Curriculum Learning -> Preprocessing Tax)
- V1-13 Part E dropped (redundant with Lab 10)
- V1-15 Part C dropped (TCO not fairness-specific), refocused
- V2-12 model extraction dropped, restructured around privacy cost
- V2-16 capstone cut to 4 parts, Design Ledger fallbacks added
- All 15-min parts trimmed to 12 min

Test infrastructure added:
- labs/tests/ with 3-level pytest suite (static, engine, widget)
- CI workflow updated with pytest stages
- pytest added to labs/requirements.txt
2026-03-15 16:26:50 -04:00