Replace OUT_DIR/path-shaped proc-macro errors with generated slhx file/module language while preserving the build.rs fix hint.
req: dx/005
req: component/004
Allow #[slhx::component("name")] to validate only the generated handles for that hemplate component, so component modules can be checked independently without implementing unrelated handles.
req: component/003
req: component/005
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
Introduce FormValue as the parser-availability bound for #[slhx::form] models, blanket it for FromStr types, and add compile-fail coverage for a form field whose domain type lacks a parser.
req: form/004
req: form/006
Add #[slhx::form] for user-authored form models, emit form field metadata into slhx.syms, and require form handlers to accept models that passed generated field compatibility checks.
req: form/001
req: form/004
req: form/006
req: codegen/004
Tighten generated-form handler checking so a parameter must look like slhx::Form<T> or imported Form<T>, not a nongeneric local Form or unrelated path with a Form suffix.
req: form/004
req: form/006
Add compile-fail coverage showing that accepting a generated Form<T> does not bypass required generated data-param checking for the same handle.
req: form/006
req: derive_handler/003
Let #[slhx::component] preserve inline modules when generated symbols are absent, while still enforcing handler completeness when slhx.syms exists.
req: component/005
req: test/002
Make #[slhx::component] compare generated handle symbols with inline #[slhx::handler] functions and fail when a required handler implementation is missing.
req: component/005
req: check/002
req: test/003
Emit handle_param facts for handled data-* attributes and reject handlers that omit generated param arguments. Cover the generated param boundary with unit and compile-fail tests.
req: derive_handler/001
req: test/003
Tighten generated form-handler validation so only actual Form paths satisfy form handles; names like CreateForm no longer bypass the slhx::Form<_> requirement. Cover with unit and compile-fail tests.
req: form/004
req: form/006
req: test/003
Make #[slhx::handler] fail when slhx.syms is missing instead of silently skipping generated handle checks. Add compile-fail coverage with an actionable build.rs hint.
req: build/003
req: test/003
Emit handle-form facts from slhx-build and have #[slhx::handler] reject generated form handlers that do not accept slhx::Form<_>. Cover the boundary with compile-fail fixtures.
req: form/004
req: form/006
req: test/003
Make #[slhx::surface] report a compile-time error when slhx.generated.rs is absent instead of silently expanding to an empty module. Add compile-fail coverage for the missing generated include path.
req: build/004
req: test/003
Add compile-fail coverage for generated APIs: a surface include that exposes only one class must reject references to absent generated class names during cargo check.
req: codegen/001
req: style/002
req: test/003
Add a fixture-backed compile-fail test for generated slhx handler contracts: unknown handles and invalid handler shape fail during cargo check with actionable diagnostics.
req: derive_handler/001
req: test/003