Upgrade the integration crate and examples to Axum 0.8 and use the native async extractor traits while preserving hemx routing, request, runtime, and effect behavior.
req: axum/002
Move canonical examples and docs snippets from raw render/page calls to generated ui::page helpers, hide generated render behind doc(hidden), and let form resources participate in generated target inspection for tests.
req: canonical_authoring/005
req: dx/006
req: codegen/002
req: public_api/002
req: test/001
Generate a SHA-256 content hash for the embedded hemx runtime, expose the hashed path from hemx-axum, serve immutable runtime headers, and update examples to load the hemx-owned path instead of fixed /hemx.js URLs.
req: axum_integration/005
Close the fallible handler and example coherence slice: v0 uses typed todo newtypes, Result handler failure mapping, generated form/partial helpers, and page composition; kanban is explicitly marked as an advanced north-star milestone; raw render is isolated behind hemx::advanced::render.
req: canonical_authoring/003
req: failure/004
req: public_api/005
req: examples/004
Keep example READMEs aligned with the generated-resource, tuple-composed IntoEffect authoring path instead of lower-level handle/EffectBatch wording.
req: dx/006
req: examples/003
Generate ui::put(slot, view) for lower-aware slot HTML updates and move examples/docs/contracts to that ergonomic path instead of hand-composing slot.html(render(...)).
req: dx/006
req: component/003
req: runtime/001
req: examples/003
Move canonical example test helpers and docs off direct slot render shortcuts so even test-only slot updates use generated lower-aware HTML paths.
req: component/003
req: runtime/001
req: examples/003
Move canonical examples and docs off direct RenderSlotExt render shortcuts so slot updates use generated render/lowering before HTML replacement, preserving runtime metadata for follow-up interactions.
req: component/003
req: runtime/001
req: dx/006
req: examples/003
Use generated lower-aware render paths before slot HTML updates so example fragments carry runtime ids for follow-up interactions such as browser drag/drop.
req: component/003
req: runtime/001
req: examples/003
Add InteractionForm::parse for common typed field extraction and use it in example interaction handlers to avoid repeated string parsing plumbing.
req: form/004
req: dx/003
req: examples/003
Wrap extracted interaction forms in an InteractionRequest with a concise dispatch path, add a handlers() helper, and move canonical examples off direct HandlerRegistry/InteractionForm plumbing.
req: axum_integration/003
req: ceremony/001
req: dx/003
req: examples/003
Move the kanban full-page shell into a checked .heml unit so page assembly uses slhx render/SafeHtml composition instead of hand-built trusted HTML strings.
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
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 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
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
Remove remaining example-local render_html wrappers in favor of slhx::render_html so public examples share the hemplate render_into effect boundary.
req: view/001
req: html_safety/002
Use RenderSlotExt in the kanban library smoke test so even the small public example test path avoids explicit SafeHtml/html plumbing.
req: view/001
req: html_safety/002
Add render_html plus slot render_view helpers that call hemplate render_into, and migrate a kanban effect path from explicit SafeHtml/html handling to the renderable-view helper.
req: view/001
req: html_safety/002
Use hemplate render_into in public examples and example tests instead of the string-returning render helper, preserving SafeHtml wrapping only at the explicit effect boundary.
req: view/001
req: html_safety/002
Implement Display for generated slots, keyed slots, atoms, and forms so public examples can pass typed resources directly to hemplate dynamic attributes and tests instead of extracting raw numeric ids.
req: public_api/001
req: public_api/002
Implement Display for generated Handle<T> values and migrate example view data to carry handles directly instead of raw handle id numbers for dynamic handle attributes.
req: public_api/001
req: public_api/002
Add HandlerRegistry::register_handle for generated Handle<T> values and migrate examples away from passing raw numeric handle ids at registration sites.
req: ceremony/004
req: public_api/001
Have #[slhx::form] emit an associated FORM resource so checked form handlers can be called with TodoInput::FORM-style values instead of generated_resource.typed::<T>() noise.
req: form/001
req: form/004
req: form/006
req: codegen/004
Add a kanban example smoke test for #[slhx::form] plus #[slhx::handler] over the generated create_card form resource.
req: form/001
req: form/004
req: form/006
req: derive_handler/003
Make v0 and kanban DOM-aware escaped-text checks exact instead of substring-based while preserving the no-rendered-tag assertions.
req: html_safety/002
req: test/005
Replace the Kanban generated-slot unit test's inline raw HTML board payload with a hemplate-rendered view and DOM-aware assertion.
req: html_safety/002
req: view/001
req: test/005
Move the kanban SSE presence fragment from Rust raw HTML formatting into a hemplate partial/view and cover the rendered structure with scraper.
req: html_safety/002
req: view/001
req: test/005