docs(requirements): tighten public api rows

Add explicit northstar ring fields to public_api requirements, remove planning wording, and split page-boundary guidance from beginner escape-hatch guidance.

req: public_api/001

req: public_api/002

req: public_api/003

req: public_api/004

req: public_api/005

req: public_api/006
This commit is contained in:
slhx agent
2026-06-25 15:07:44 +02:00
parent 99bc734297
commit b32ee3ee0a
2 changed files with 9 additions and 6 deletions
+8 -5
View File
@@ -350,19 +350,22 @@ a `data-*` handle param is statically known or runtime-extracted. [north_star]
## public_api
### req: public_api/001
001 The generated API is the primary public authoring API. Most user code should return generated partial, text, keyed-row, form, page, nav, or island/event commands, not raw `Effect` constructors or raw render/lower calls.
0 001 The generated API is the primary public authoring API. User code returns generated partial, text, keyed-row, form, page, nav, or island/event commands, not raw `Effect` constructors or raw render/lower calls. [north_star]
### req: public_api/002
002 `Effect`, `EffectWriter`, `ResourceId`, `ResourceRef`, and raw opcodes are advanced APIs. They must not appear in beginner docs, generated examples, or common diagnostics.
0 002 `Effect`, `EffectWriter`, `ResourceId`, `ResourceRef`, and raw opcodes are advanced APIs. They must not appear in beginner docs, generated examples, or common diagnostics. [north_star]
### req: public_api/003
003 Every generated command returns `impl IntoEffect` and composes through tuple composition.
0 003 Every generated command returns `impl IntoEffect` and composes through tuple composition. [north_star]
### req: public_api/004
004 If a common UI operation requires raw `EffectWriter`, the public API is considered incomplete.
0 004 If a common UI operation requires raw `EffectWriter`, the public API is incomplete. [north_star]
### req: public_api/005
005 Beginner-facing page/template composition uses generated render or page helpers. Direct `SafeHtml` construction, raw `html(...)`, raw `target(...)`, raw route fragments, `hemx::advanced::render(...)`, and explicit `ui::render(...)` calls are advanced escape hatches and must not appear in beginner examples or docs. Server-rendered page boundaries may use `hemx::page(...)`; handlers and ordinary partial updates must use generated target/form/page commands.
0 005 Beginner-facing page/template composition uses generated render or page helpers. Direct `SafeHtml`, raw `html(...)`, `target(...)`, route fragments, `hemx::advanced::render(...)`, and explicit `ui::render(...)` are advanced escape hatches. [north_star]
### req: public_api/006
0 006 Server-rendered page boundaries may use `hemx::page(...)`; handlers and ordinary partial updates must use generated target/form/page commands. [north_star]
---