Messaging Subject Map (State 007)
Purposeβ
Define canonical NATS subject naming for replacing Socket.IO topic usage.
Subject Familiesβ
-
trades.new- producer:
trade-service - consumer:
trade-processor - payload: submitted trade intent
- producer:
-
trades.processed- producer:
trade-processor - consumers: monitoring/debug subscribers, optional frontend summary stream
- payload: processed trade lifecycle event
- producer:
-
trades.account.<accountId>.updated- producer:
trade-processor - consumer: frontend account-scoped stream
- payload: trade updates scoped to account
- producer:
-
positions.account.<accountId>.updated- producer:
trade-processor - consumer: frontend account-scoped stream
- payload: position deltas scoped to account
- producer:
Wildcard Usageβ
- Frontend account stream can subscribe to:
trades.account.<accountId>.*positions.account.<accountId>.*
Contract Policyβ
- Keep event payload semantics equivalent to prior state where possible.
- Any schema drift must be captured in
contracts/contract-delta.mdand conformance tests.