docs(requirements): tighten runtime rows

Add explicit northstar ring fields to runtime requirements and split EffectBatch application from the tiny-runtime size target without changing behavior.

req: runtime/001

req: runtime/002

req: runtime/003

req: runtime/004

req: runtime/005

req: runtime/006
This commit is contained in:
slhx agent
2026-06-25 15:33:08 +02:00
parent 954b177b0c
commit c5f999e91e
2 changed files with 9 additions and 6 deletions
+8 -5
View File
@@ -526,19 +526,22 @@ what a valid business email is. [north_star]
## runtime
### req: runtime/001
001 Every hemx tree must declare a root boundary via `data-hemx-root` on an ancestor element. The JS runtime resolves lookups within that root only. Multiple independent hemx apps/widgets/modals may coexist on the same document without ID collision. [north_star]
0 001 Every hemx tree declares a root boundary via `data-hemx-root`. JS runtime lookups stay within that root, so independent hemx apps/widgets/modals can coexist without ID collision. [north_star]
### req: runtime/002
002 JS runtime attaches a single delegated listener per event type on each `data-hemx-root`. No per-node listeners. Dispatch resolves target via `data-hid` / `data-sid` attributes on the event path scoped to its root.
0 002 JS runtime attaches a single delegated listener per event type on each `data-hemx-root`. No per-node listeners. Dispatch resolves target via `data-hid` / `data-sid` attributes on the event path scoped to its root. [north_star]
### req: runtime/003
003 The core JS runtime target is under 5KB minified+gzipped. It remains a tiny op interpreter (no selectors, no VDOM, no scheduler, no expressions). It reads postcard `EffectBatch` bytes and applies them as DOM operations. Optional sync/transition/WASM helpers are separate files.
0 003 The core JS runtime target is under 5KB minified+gzipped. It remains a tiny op interpreter: no selectors, VDOM, scheduler, or expressions. [north_star]
### req: runtime/006
0 006 The core JS runtime reads postcard `EffectBatch` bytes and applies them as DOM operations. Optional sync/transition/WASM helpers are separate files. [north_star]
### req: runtime/004
004 Core runtime exposes a minimal version/fingerprint handshake only. Capability negotiation belongs to integration crates such as `hemx-wasm`, `hemx-sync`, and `hemx-transition`.
0 004 Core runtime exposes a minimal version/fingerprint handshake only. Capability negotiation belongs to integration crates such as `hemx-wasm`, `hemx-sync`, and `hemx-transition`. [north_star]
### req: runtime/005
005 Failed hemx HTTP requests must fail closed: non-2xx responses are not applied as effects, pending state is restored, root-scoped `data-hemx-error` outlets show a transport failure when present, and the runtime emits an inspectable `hemx:error` event with status when available. [north_star]
0 005 Failed hemx HTTP requests fail closed: non-2xx responses are not applied as effects, pending state is restored, root-scoped `data-hemx-error` outlets show transport failure, and runtime emits `hemx:error` with status when available. [north_star]
---