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:
+21
-9
@@ -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]
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user