Commit Graph

10 Commits

Author SHA1 Message Date
slhx agent d223a1d215 feat(derive): check component handlers
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
2026-05-25 22:30:07 +02:00
slhx agent d25361d34d feat(derive): check generated handler params
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
2026-05-25 22:17:08 +02:00
slhx agent 6d9d5e4c4e fix(derive): reject form type impostors
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
2026-05-25 22:10:19 +02:00
slhx agent 59b0c8ccc4 test(derive): cover surface inline requirement
Add compile-fail coverage for #[slhx::surface] on non-inline modules so the generated surface boundary stays explicit.

req: codegen/001

req: test/003
2026-05-25 21:30:18 +02:00
slhx agent 87a19fd923 fix(derive): require generated handler symbols
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
2026-05-25 21:26:48 +02:00
slhx agent dca26511cc feat(derive): require form parameter for form handles
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
2026-05-25 21:23:37 +02:00
slhx agent 3ea596a218 fix(derive): fail missing surface generation
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
2026-05-25 21:20:18 +02:00
slhx agent a6db4699f7 test(derive): cover missing generated resource
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
2026-05-25 21:16:24 +02:00
slhx agent b7055f225a test(derive): cover handler compile failures
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
2026-05-25 21:14:16 +02:00
slhx agent c4e02db5f8 chore(checkpoint): save current v0 build state 2026-05-10 20:51:22 +02:00