docs(local): describe projections before generated effects

Keep local/offline and host capability recipes on app-owned command/event/projection flow without teaching raw EffectBatch as the authoring boundary.

req: local/001

req: local/002

req: host/002
This commit is contained in:
slhx agent
2026-06-12 08:00:49 +02:00
parent 21100aafdf
commit a28eb78ded
2 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ HostEvent
→ app/domain command → app/domain command
→ domain validation and optional persistence → domain validation and optional persistence
→ projection/rendering → projection/rendering
hemx EffectBatch generated UI effects
``` ```
Adapters must not mutate DOM, append domain events, or write application state Adapters must not mutate DOM, append domain events, or write application state
+6 -5
View File
@@ -11,7 +11,7 @@ req: local/002
The host capability path proves that thin typed contracts work when the shared The host capability path proves that thin typed contracts work when the shared
semantics are obvious: manifest, call, event, and host-check failure. The local semantics are obvious: manifest, call, event, and host-check failure. The local
exemplar proves a safer boundary for offline work: command, domain event, exemplar proves a safer boundary for offline work: command, domain event,
projection, then `EffectBatch`. It does not yet prove common storage, projection, then generated UI effects. It does not yet prove common storage,
reconciliation, export, deletion, or conflict semantics across apps, so a crate reconciliation, export, deletion, or conflict semantics across apps, so a crate
would freeze product policy too early. req: local/002 req: local/003 req: would freeze product policy too early. req: local/002 req: local/003 req:
local/004 local/004
@@ -29,7 +29,7 @@ user intent
→ domain validation → domain validation
→ LocalEvent → LocalEvent
→ Projection → Projection
hemx EffectBatch generated UI effects
``` ```
The log may live in memory, IndexedDB, SQLite, a native host store, or another The log may live in memory, IndexedDB, SQLite, a native host store, or another
@@ -44,9 +44,10 @@ can render immediate feedback while those decisions remain pending. req: local/0
## Boundary ## Boundary
Do not persist DOM patches as truth. Do not persist `EffectBatch` payloads as the Do not persist DOM patches as truth. Do not persist generated UI effect payloads
local application log. Those are render instructions produced after app/domain as the local application log. Those are render instructions produced after
code accepts commands and projects events. req: local/001 req: local/004 app/domain code accepts commands and projects events. req: local/001 req:
local/004
Use `hemx-host` only when the local log needs device or shell capabilities such Use `hemx-host` only when the local log needs device or shell capabilities such
as secure storage, files, haptics, microphone, or notifications. The host still as secure storage, files, haptics, microphone, or notifications. The host still