ores.reporting.core

Table of Contents

Diagram

ores.reporting.core component diagram

Figure 1: ores.reporting.core

Summary

ores.reporting.core manages the report lifecycle in ORE Studio: report-type definitions (e.g., NPV cube, trade cashflows, XVA), parameterised report definitions, execution instances with concurrency policies, and run history. It exposes NATS handlers for report CRUD and triggering ORE risk runs, and persists all report metadata to the ores_reporting schema.

Inputs

  • NATS request messages for report-type, definition, and instance management.
  • PostgreSQL connections to ores_reporting_* tables.
  • ORE risk-engine invocations triggered by the scheduler or client requests.

Outputs

  • Report-definition and run-instance records persisted to the ores_reporting schema.
  • ORE output files (NPV cube, cashflows) made available to Qt clients.
  • NATS response messages returned to callers.

Entry points

  • include/ores.reporting.core/ores.reporting.core.hpp — aggregate include.
  • include/ores.reporting.core/messaging/registrar.hpp — registers all NATS handlers with the service host.
  • include/ores.reporting.core/service/ — per-entity service headers.

Dependencies

  • ores.reporting.api — shared domain types and NATS protocol schemas.
  • ores.dq — ORM base classes and persistence infrastructure.
  • ores.iam.core — identity and authorisation context.
  • rfl — JSON serialisation via reflection.
  • soci — SQL ORM for PostgreSQL persistence.
  • nats.c — NATS messaging client.

See also

Emacs 29.1 (Org mode 9.6.6)