Files
hemx/PLAN.md
T
2026-06-29 18:21:00 +02:00

1.7 KiB

hemx plan

This is a small work surface for explicitly delegated hemx follow-up. REQUIREMENTS.md remains the requirement authority; this file only records execution intent.

URL-as-state page navigation primitive

User value: server-first apps can build browse/search/filter pages whose URL is the durable state, so reload, bookmarks, sharing, copy/paste, and back/forward work without app-owned client state or search frameworks.

State: Done

Build:

  • Document the URL-as-state contract for enhanced GET forms and page swaps: native successful controls serialize into the URL; committed submits push history; high-frequency filter typing may replace history; normal reload/no-JS behavior remains native. req: page_swap/009
  • Convert or add one html_examples browse/search example that uses a plain GET form plus generated page/target helpers to prove query-string state round-trips through server-rendered page state. req: page_swap/009 req: htmx_equivalents/005
  • Add focused runtime/browser smoke that changes a GET query, verifies the URL, reloads or uses back/forward, and observes the same rendered state without hidden client state. req: page_swap/005 req: page_swap/009
  • Keep the primitive subtractive: refuse an omnisearch framework, router, selector include model, client state graph, or domain search API in hemx core; use generated forms, page swap, and Navigate only. req: page_swap/003 req: page_swap/009 req: page_swap/010 req: htmx_equivalents/003

Blocked by: none.

Proof: cargo run -p hemx-xtask -- html-examples-smoke, focused runtime/page-swap tests, redgate lint, and redgate health --strict pass with an example showing URL state survives reload/back/forward.