System Model: Infrastructure Layer

Table of Contents

This page is part of the System Model. Infrastructure owns the transport and testing contracts. Everything above this layer speaks ores.nats; this layer provides the client, the service runner, the event bus, and the test fixture that wires them together. See Entity lifecycle for how ores.nats entities flow across request/reply pairs.

Detail

ores.nats

ores.nats messaging backbone — client connection management, subject naming conventions, queue groups, and JetStream configuration and lifecycle. The primary inter-service transport used by every domain and application component. See NATS for the technology overview.

Sub-component Role Dependencies
ores.nats ores.nats client, subject conventions, JetStream ores.platform

ores.service

Shared ores.nats domain service runner — the domain_service_runner template that gives every service a standard request/reply lifecycle: connect, subscribe, handle, reply, reconnect on failure.

Sub-component Role Dependencies
ores.service ores.nats service runner template ores.nats

ores.testing

Catch2 integration that isolates every test into its own PostgreSQL schema. Each test process creates a unique schema, wires up a preconfigured logger, and tears down cleanly — making tests safe to run in parallel without touching production data.

Sub-component Role Dependencies
ores.testing Per-test schema isolation for Catch2 ores.database, ores.logging

Related documents:

ores.eventing

In-process publish/subscribe event bus with PostgreSQL-backed delivery and optional ores.nats integration. Decouples components within the same process from the ores.nats transport layer.

Sub-component Role Dependencies
ores.eventing In-process event bus with PostgreSQL backing ores.nats, ores.database

ores.connections

Client-side server connection bookmarks with hierarchical organisation and credential management. Stores ores.nats connection parameters — host, port, credentials — in an encrypted local SQLite database.

Sub-component Role Dependencies
ores.connections Encrypted ores.nats connection bookmark store ores.security

See also

Emacs 29.3 (Org mode 9.6.15)