From 00af1017ccd9b89af6275a58145f2a534260a508 Mon Sep 17 00:00:00 2001 From: slhx agent Date: Mon, 25 May 2026 22:06:46 +0200 Subject: [PATCH] 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 --- REQUIREMENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md index 1805d78..37f13af 100644 --- a/REQUIREMENTS.md +++ b/REQUIREMENTS.md @@ -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. ### 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 003 Generated registries are validated by compile-time tests: missing handler implementations produce test failures with actionable messages.