giles
cf5e767510
Phase 3: Client-side routing with SX page registry + routing analyzer demo
Add client-side route matching so pure pages (no IO deps) can render
instantly without a server roundtrip. Page metadata serialized as SX
dict literals (not JSON) in <script type="text/sx-pages"> blocks.
- New router.sx spec: route pattern parsing and matching (6 pure functions)
- boot.sx: process page registry using SX parser at startup
- orchestration.sx: intercept boost links for client routing with
try-first/fallback — client attempts local eval, falls back to server
- helpers.py: _build_pages_sx() serializes defpage metadata as SX
- Routing analyzer demo page showing per-page client/server classification
- 32 tests for Phase 2 IO detection (scan_io_refs, transitive_io_refs,
compute_all_io_refs, component_pure?) + fallback/ref parity
- 37 tests for Phase 3 router functions + page registry serialization
- Fix bootstrap_py.py _emit_let cell variable initialization bug
- Fix missing primitive aliases (split, length, merge) in bootstrap_py.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 15:47:56 +00:00
..
2026-03-05 22:05:35 +00:00
2026-03-05 11:49:44 +00:00
2026-03-05 11:49:44 +00:00
2026-03-05 11:49:44 +00:00
2026-03-05 22:05:35 +00:00
2026-03-06 15:47:56 +00:00
2026-03-06 15:47:56 +00:00
2026-03-06 15:47:56 +00:00
2026-03-06 12:47:50 +00:00
2026-03-06 12:41:38 +00:00
2026-03-05 23:50:02 +00:00
2026-03-06 12:41:38 +00:00
2026-03-06 00:41:28 +00:00
2026-03-06 00:41:28 +00:00
2026-03-05 23:50:02 +00:00
2026-03-06 13:34:09 +00:00
2026-03-05 13:04:27 +00:00
2026-03-06 01:16:16 +00:00
2026-03-05 22:36:56 +00:00
2026-03-06 15:47:56 +00:00
2026-03-06 01:44:50 +00:00
2026-03-06 09:48:44 +00:00
2026-03-05 11:49:44 +00:00
2026-03-06 15:47:56 +00:00
2026-03-06 01:44:50 +00:00
2026-03-06 15:47:56 +00:00