From a28eb78ded5999d1773a5a4dc1a6fdef54bc43a7 Mon Sep 17 00:00:00 2001 From: slhx agent Date: Fri, 12 Jun 2026 08:00:49 +0200 Subject: [PATCH] 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 --- docs/recipes/host-capabilities.md | 2 +- docs/recipes/local-command-log.md | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/recipes/host-capabilities.md b/docs/recipes/host-capabilities.md index 490dd42..c89e589 100644 --- a/docs/recipes/host-capabilities.md +++ b/docs/recipes/host-capabilities.md @@ -55,7 +55,7 @@ HostEvent → app/domain command → domain validation and optional persistence → projection/rendering -→ hemx EffectBatch +→ generated UI effects ``` Adapters must not mutate DOM, append domain events, or write application state diff --git a/docs/recipes/local-command-log.md b/docs/recipes/local-command-log.md index 1b84ee6..1725874 100644 --- a/docs/recipes/local-command-log.md +++ b/docs/recipes/local-command-log.md @@ -11,7 +11,7 @@ req: local/002 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 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 would freeze product policy too early. req: local/002 req: local/003 req: local/004 @@ -29,7 +29,7 @@ user intent → domain validation → LocalEvent → Projection -→ hemx EffectBatch +→ generated UI effects ``` 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 -Do not persist DOM patches as truth. Do not persist `EffectBatch` payloads as the -local application log. Those are render instructions produced after app/domain -code accepts commands and projects events. req: local/001 req: local/004 +Do not persist DOM patches as truth. Do not persist generated UI effect payloads +as the local application log. Those are render instructions produced after +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 as secure storage, files, haptics, microphone, or notifications. The host still