register+lemniscate: subject registry is register data, naming resolved through the register map

This commit is contained in:
nyx committed 2026-11-06 15:53:14 +01:00
1 parent 8d062b4800
commit e60f6f7f9e
2 files changed
+40 -6

No files matched your search

+8 -5
View File
@@ -44,10 +44,13 @@ share state or corrupt each other. Idempotency is enforced by us, via
dedupe on `decision_uuid`/`cycle_uuid`, because JetStream guarantees
*at-least-once*, never *exactly-once*.
Subject naming (open): the engine above uses short subjects
(`gate.summary`, `action.call.<target>`). Our live bus streams use
`nimmerverse.register.>` / `nimmerverse.cycle.>`. Before any engine
traffic flows, pick ONE naming convention and map it here.
Subject naming: the subject registry owns the naming decision, the
register is law, per
[register.md, Subject registry](./register.md). Short subjects
(`gate.summary`, `action.call.<target>`) are internal identifiers;
their wire names resolve through the registry map (today: `nimmerverse.`
prefix, live streams already follow it). Code never hard-codes a
subject string.
### Bus transport (NATS / JetStream)
@@ -197,4 +200,4 @@ while elapsed >= interval:
- Register/catalog: sensors, gates, actuators, clients, `drives`. Catalog entry declares the class path; runtime imports an explicit registry and fails loud on a missing class.
- Clients hold own durable consumers on `zone.state.>` and `action.result.>` (replay-on-wake).
Version: 0.12 | Updated: 2026-11-06
Version: 0.13 | Updated: 2026-11-06