docs(requirements): clarify surface generation contract

Align test/002 with the implemented checked boundary: #[slhx::surface] now requires generated slhx.generated.rs while #[slhx::component] remains available for incremental module-local testing.

req: test/002
This commit is contained in:
slhx agent
2026-05-25 22:06:46 +02:00
parent da5dccd417
commit 00af1017cc
+1 -1
View File
@@ -591,7 +591,7 @@ what a valid business email is.
001 `EffectWriter` implements a test backend so handlers can be unit-tested without a browser: `slhx_test::run(handler, input)` returns an `EffectInspector` with `contains(op)`, `has_slot(slot)`, `has_atom(atom)`, etc. 001 `EffectWriter` implements a test backend so handlers can be unit-tested without a browser: `slhx_test::run(handler, input)` returns an `EffectInspector` with `contains(op)`, `has_slot(slot)`, `has_atom(atom)`, etc.
### req: test/002 ### req: test/002
002 `#[slhx::component]` and `#[slhx::surface]` proc-macros compile successfully even when no Surface files are present, for incremental development and testing. 002 `#[slhx::component]` may compile without generated Surface files for incremental module-local testing. `#[slhx::surface]` requires `slhx.generated.rs` in `$OUT_DIR` and fails with an actionable diagnostic when generation is missing, because it is the public generated API bridge.
### req: test/003 ### req: test/003
003 Generated registries are validated by compile-time tests: missing handler implementations produce test failures with actionable messages. 003 Generated registries are validated by compile-time tests: missing handler implementations produce test failures with actionable messages.