docs(requirements): split test governance rows

Add explicit northstar ring fields to test requirements and split browser-selector, surface-generation, browser-E2E, and durable-smoke boundaries without changing behavior.

req: test/001

req: test/002

req: test/003

req: test/004

req: test/005

req: test/006

req: test/007

req: test/008

req: test/009

req: test/010

req: test/011

req: test/012

req: test/013
This commit is contained in:
slhx agent
2026-06-25 17:00:18 +02:00
parent 78bc761366
commit dbf7619712
2 changed files with 23 additions and 11 deletions
+21 -9
View File
@@ -815,31 +815,43 @@ what a valid business email is. [north_star]
## test
### req: test/001
001 `EffectWriter` implements a test backend so handlers can be unit-tested without a browser through `hemx_test` run and inspect helpers. [north_star]
0 001 `EffectWriter` implements a test backend so handlers can be unit-tested without a browser through `hemx_test` run and inspect helpers. [north_star]
### req: test/007
007 `EffectInspector` exposes generated-resource assertions for target updates, HTML/text payloads, keyed insert/replace/remove, navigation, emitted events, slots, and atoms. [north_star]
0 007 `EffectInspector` exposes generated-resource assertions for target updates, HTML/text payloads, keyed insert/replace/remove, navigation, emitted events, slots, and atoms. [north_star]
### req: test/008
008 Canonical example tests prefer generated-target assertions so tests use the same generated target objects as handlers instead of importing raw slot constants or matching raw effects/payloads. [north_star]
0 008 Canonical example tests prefer generated-target assertions so tests use the same generated target objects as handlers instead of importing raw slot constants or matching raw effects/payloads. [north_star]
### req: test/009
009 Browser/E2E selector helpers are low-level test adapters only; they are generated or named around public authoring concepts such as handles, targets, forms, nav links, roots, islands, class tokens, or keys, and must not become app authoring APIs. [north_star]
0 009 Browser/E2E selector helpers are low-level adapters only; they are generated or named around public authoring concepts such as handles, targets, forms, nav links, roots, islands, class tokens, or keys. [north_star]
### req: test/010
0 010 Browser/E2E selector helpers must not become app authoring APIs. [north_star]
### req: test/002
002 `#[hemx::component]` may compile without generated Surface files for incremental module-local testing. `#[hemx::surface]` requires `hemx.generated.rs` in `$OUT_DIR` and fails with an actionable diagnostic when generation is missing, because it is the public generated API bridge.
0 002 `#[hemx::component]` may compile without generated Surface files for incremental module-local testing. [north_star]
### req: test/011
0 011 `#[hemx::surface]` requires `hemx.generated.rs` in `$OUT_DIR` and fails with an actionable diagnostic when generation is missing. [north_star]
### req: test/003
003 Generated registries are validated by compile-time tests: missing handler implementations produce test failures with actionable messages.
0 003 Generated registries are validated by compile-time tests: missing handler implementations produce test failures with actionable messages. [north_star]
### req: test/004
004 Repository-wide verification uses a resource-aware runner that caps Cargo build jobs and Rust test threads from available CPU and memory. User-requested concurrency cannot exceed the detected safe cap. Browser E2E runs as an isolated step and can be skipped explicitly when browser infrastructure is unavailable.
0 004 Repository-wide verification uses a resource-aware runner that caps Cargo build jobs and Rust test threads from available CPU and memory. User-requested concurrency cannot exceed the detected safe cap. [north_star]
### req: test/012
0 012 Browser E2E runs as an isolated step and can be skipped explicitly when browser infrastructure is unavailable. [north_star]
### req: test/005
005 Tests that inspect rendered HTML structure, attributes, escaping, or ordering use DOM-aware parsing such as `scraper` or existing local HTML parsing helpers. Raw string assertions are reserved for tiny literal payload checks where parsing would add noise. [north_star]
0 005 Tests that inspect rendered HTML structure, attributes, escaping, or ordering use DOM-aware parsing such as `scraper` or existing local HTML parsing helpers. Raw string assertions are reserved for tiny literal payload checks. [north_star]
### req: test/006
006 Repo-owned browser smoke entry points that guard examples use `hemx-xtask` commands, start their own local example server, drive a real browser through the CDP browser tool, and clean up the example process; durable browser coverage must not rely on ad hoc `/tmp` scripts. [north_star]
0 006 Repo-owned browser smoke entry points that guard examples use `hemx-xtask` commands, start their own local example server, drive a real browser through the CDP browser tool, and clean up the example process. [north_star]
### req: test/013
0 013 Durable browser coverage must not rely on ad hoc `/tmp` scripts. [north_star]
---