Make the authoring prelude cover the SafeHtml page-fragment type so generated render/static_fragment helpers can compose without an extra core import.
req: dx/006
req: html_safety/002
Remove the last handwritten __h input from techdemo markup, switch E2E posts to generated handles, and extend example contracts to catch literal handle fields in templates.
req: dx/003
req: ceremony/002
req: examples/003
Extend the example contract to keep canonical runtime code on generated render/static_fragment APIs instead of lower_html/render_html aliases or inline include_str lowering.
req: dx/006
req: ceremony/002
req: component/003
Add a generated static_fragment helper for include_str!-style prototype fragments and use it in the v0 page assembly path so static lowered .heml no longer needs repeated SafeHtml::trusted plumbing.
req: dx/006
req: html_safety/001
req: html_safety/002
req: component/003
Add an explicit runtime guard for root-scoped DOM walks and against selector APIs, preserving the no selector/no hidden client framework boundary.
req: pitch/002
req: runtime/001
req: target_policy/001
Let already-safe fragments compose without downgrading to String, and use it in the v0 page assembly example to keep rendered and lowered fragments typed at the boundary.
req: html_safety/001
req: html_safety/002
req: component/003
Use the slhx RenderSlotExt path for board updates so examples no longer manually compose SafeHtml before slot replacement.
req: dx/006
req: component/003
Add a SafeHtml PageRequest path for shell/partial composition and migrate examples so rendered hemplate fragments stay typed through the transport boundary instead of round-tripping through unchecked strings.
req: axum_integration/001
req: html_safety/001
req: html_safety/002
Remove one-line render_board wrappers now that generated render(view) is the concise composition helper, keeping board updates explicit without extra local bridge functions.
req: component/003
req: dx/006
Refresh the north-star kanban walkthrough to use current hemplate syntax plus lean generated render/slot/form helpers instead of stale sketch syntax and manual ids.
req: dx/006
req: component/003
Generate lower(html) as the short static/prototype fragment lowering helper while keeping lower_html(html) as the compatibility alias, then move the v0 page assembly to the leaner path.
req: dx/006
req: component/003
Expose slhx::render(view) as the short SafeHtml composition helper and keep render_html(view) as a compatibility alias, matching generated modules' lean page-building path.
req: dx/006
req: html_safety/002
Generate render(view) as the short page/fragment composition helper while keeping render_html(view) as an explicit compatibility alias, then move examples to the leaner happy path.
req: component/003
req: dx/006
req: view/001
Import scoped generated handles and slots in techdemo tests so assertions read as local resources instead of fully-qualified generated paths.
req: component/003
req: dx/006
Import scoped generated board modules at the kanban boundary so tests and page helpers read as local board resources without fully qualified generated-resource ceremony.
req: component/003
req: dx/006
Route shell, architecture, inspector, hero, activity, and live-feed rendering through generated render_html helpers, removing the last local render_template bridge from the techdemo page composition path.
req: component/003
req: view/001
req: html_safety/002
Import component-scoped generated modules at the example boundary so handlers and tests read as local slots/forms/handles without hiding ownership or adding framework machinery.
req: component/003
req: dx/006
Import scoped generated modules at the page boundary so handlers and tests read as local slots/forms/handles/classes without hiding ownership or adding framework machinery.
req: component/003
req: dx/006
Switch v0 page and payload composition to generated render_html helpers, removing the local render_template bridge while keeping the explicit full-page SafeHtml shell boundary.
req: component/003
req: view/001
req: html_safety/002
Generate root and component render_html helpers that render hemplate views through the same lowering table, letting callers update composed views without manual render_template/lower_html/SafeHtml plumbing.
req: component/003
req: view/001
req: html_safety/002
Move board card and lane actions onto their reusable partial templates, register the scoped generated handles directly, and remove hidden shell-level handle anchors and manual handle fields from the rendered view data.
req: component/003
req: view/001
req: examples/001
Report malformed data-slhx-st with slhx:state-error and continue binding the root with an empty atom store instead of letting state decode failures stop handlers, navigation, or push.
req: state/004
req: state/006
req: runtime/001
Treat data-slhx-boost on anchors and forms as a build error with guidance toward data-slhx-nav or data-slhx-handle, preserving boost as a container convention.
req: page_swap/007
req: diagnostics/002
Treat static data-slhx-nav anchors without href as build errors so page-swap links preserve progressive navigation when JavaScript is unavailable.
req: page_swap/001
req: diagnostics/002
Reject data-slhx-nav on non-anchor elements and data-slhx-sse away from its root, so standard conventions keep progressive navigation and root-scoped push semantics instead of silently doing nothing.
req: page_swap/001
req: push/006
req: diagnostics/002
Require non-empty data-slhx-sse values at build time and have the standard runtime reject cross-origin EventSource URLs with slhx:sse-error instead of opening an implicit external stream.
req: push/006
req: diagnostics/002
Treat empty static data-slhx-on lists and empty data-slhx-confirm messages as build errors, so authors do not silently disable dispatch or confirmation guards with blank attributes.
req: convention/002
req: convention/004
req: diagnostics/002
Validate static data-slhx-on values against the runtime-supported delegated event set so generated EventName constants cannot imply browser behavior the runtime will never dispatch.
req: convention/002
req: diagnostics/002
Reject invalid static data-slhx-policy and timing convention values at build time, so typos fail with author-facing guidance instead of silently falling back or disabling runtime behavior.
req: convention/003
req: convention/005
req: convention/006
req: diagnostics/002
Fail fast when templates use misspelled or unsupported data-slhx-* attributes, with guidance to fix the spelling or use non-slhx data-* metadata for app-specific islands.
req: convention/009
req: diagnostics/002
Fail fast when templates invent selector-style data-slhx-target or data-slhx-select attributes, and point authors back to generated local slots instead of runtime selector semantics.
req: locality/001
req: locality/002
req: htmx_equivalents/003
Keep data-slhx-every timers separate from debounce/throttle timers and delete the interval handle when a polling element leaves the document, so reinserted elements can start polling again without leaking stale timer state.
req: convention/005
When data-slhx-policy=parallel runs overlapping requests against one target, release pending UI bookkeeping for each completed request instead of only the last pending handle.
req: convention/006
req: convention/007
req: convention/008
When data-slhx-policy=latest aborts an in-flight request, release that request's pending UI bookkeeping before starting the replacement request so pending classes, indicators, and disabled controls do not leak.
req: convention/006
req: convention/007
Track pending class and indicator state with small reference counts so overlapping requests do not hide indicators early or strip a class that existed before the request.
req: convention/007
req: convention/008
Remember each control's pre-request disabled state and keep a small pending count so data-slhx-disable-while-pending does not accidentally enable controls that were disabled before the request.
req: convention/007
When back/forward navigation receives an incompatible or unusable partial response, reload the current URL instead of leaving the previous UI stale.
req: page_swap/005
req: page_swap/006
req: runtime/004
Resolve controls with a form= attribute inside the current slhx root instead of using document-global id lookup, preserving multi-root isolation for direct handle dispatch.
req: runtime/001
req: convention/004
Keep opaque island widgets live when slhx swaps or later DOM insertion adds a new island, and tear down the listener when an island leaves the document.
req: interop/001
req: examples/001
Add a canvas leaf-widget island to the techdemo that receives server snapshots through Effect::event/CustomEvent while keeping slhx core and runtime semantics unchanged.
req: interop/001
req: examples/001
req: examples/005
Drop the v0 example's global export opt-in and update tests to use component-scoped slots and forms, matching the checked public API path.
req: component/003
req: build/001
Document that remaining SafeHtml use in examples is limited to full-page shell composition of already-rendered hemplate fragments, while effect payloads use render helpers.
req: html_safety/002
req: view/001
Generate ParamName constants for handle data parameters so public code can refer to checked param metadata instead of stringly typed names.
req: codegen/003