Entity Catalogue

Table of Contents

The entity catalogue is an index of entity_view documents. Each entry covers one named domain entity and shows every artefact it produces across all projections (SQL, C++ domain/repository/service/generator/messaging, Qt) with proj: links to the files and to the codegen archetypes that generated them.

The catalogue serves two purposes:

How entity_view documents work

Each entity_view document lives at projects/modeling/<entity>.org (no component prefix for system-wide entities; components are introduced when two entities would otherwise collide). It is a pure navigation artifact — it does not drive codegen and is maintained by hand as projections are added.

The document structure is fixed:

Section Content
Frontmatter #+type: entity_view, ID, #+entity:, #+component:
One-paragraph description What the entity is, in domain terms
* Codegen models Org model files that drive generation
* SQL Schema create/drop/notify; populate data
* C++ Domain ores.{component}.api: structs, tables, JSON IO
* C++ Repository ores.{component}.core: SQL mapping, persistence
* C++ Service ores.{component}.core: NATS service handler
* C++ Generator ores.{component}.api: test data generator
* C++ Messaging Protocol / Eventing / Handler
* Qt Desktop UI components
* Other projections Wt, CLI, ORE engine adaptors
* Tests Per-layer test files
* Related entities Entities that model closely related concepts

Each section has a table with columns: Artefact (proj: link), Archetype (proj: link to the codegen template, or hand-crafted). For SQL sections an optional Dataset column names the data source.

Entities

ores.refdata

Entity Description
currency ISO 4217 currencies; traded and referenced across all tenants
currency_market_tier Classification of currencies by market liquidity (G10, Emerging, …)
monetary_nature Nature of a monetary unit (Fiat, Commodity, Crypto, …)
rounding_type Rounding convention applied to monetary amounts
contact_type Classification of party contact records
party Legal entity, natural person, or system participant
party_id_scheme Identifier namespace for party natural keys
party_status Lifecycle status of a party (Active, Suspended, …)
party_type Classification of party (Corporate, Individual, …)
country ISO 3166-1 country codes and names
coding_scheme FpML coding scheme taxonomy

ores.iam

Entity Description
account Login identity scoped to a tenant
session Authenticated session with geolocation and expiry
role RBAC role carrying a named permission set

ores.trading

Entity Description
trade Booked financial instrument with FSM-enforced lifecycle
portfolio Named grouping of trades for P&L and risk attribution
book Sub-portfolio ledger unit

Note: Most entities in the table above do not yet have entity_view documents. They are listed here so the catalogue is complete — missing links indicate work still to do.

See also

Emacs 29.3 (Org mode 9.6.15)