ores.history
Table of Contents
Summary
ores.history owns the generic entity-history dispatch vocabulary,
per History Diff Architecture. It defines the one shared NATS
request/response pair every entity's history uses
(get_entity_history_request=/=get_entity_history_response, keyed by
an entity_type string rather than a typed per-entity subject) and a
server-side dispatch_registry that looks up a caller-registered
history provider function by entity_type — the same
composed-registrar meta-pattern
(Entity-composed registrars) applied as a runtime lookup table
instead of N separate subject subscriptions. No typed domain payload
crosses the wire for history; every frontend renders the same shape.
Structured as a composite component: .api is the genuinely
client-visible wire vocabulary (dependency-free leaf, matching
ores.diff's discipline); .core is the server-only NATS dispatch
glue, which depends on ores.database=/=ores.security directly since
every service that registers a history_provider already links both.
Sub-components
| Sub-component | Brief |
|---|---|
| ores.history.api | Generic history wire protocol and version-diffing glue, shared by every frontend. |
| ores.history.core | Server-side dispatch registry, NATS handler and registrar. |
See also
- History Diff Architecture — the design this component implements.
- ores.diff — the sibling leaf component
.apiembeds. - Entity-composed registrars — the meta-pattern
.core's dispatch registry reapplies as a runtime lookup table.