Codex integration guide
Service and connector boundaries
Keep stream edges inside a service and represent every cross-service flow through a connector endpoint.
When to use
Apply these invariants whenever a scenario spans services, APIs, topics, databases, Cron, or Temporal.
Behavior
- A stream-to-stream edge or Link connects streams belonging to one service only.
- A producing service crosses its boundary through a Sink stream; a consuming service enters through an Input stream.
- Both sides refer to the connector endpoint that represents the real transport destination or operation.
- Reuse one connector for the same external system and one endpoint for the same logical destination or operation.
Correct cross-service path
Trace every cross-service value through the explicit integration boundary. This keeps ownership, generated adapters, and public contracts visible.
producer stream -> Sink -> connector endpoint -> Input -> consumer stream- If two endpoint declarations describe the same operation, consolidate them before adding streams.
- If a direct cross-service edge appears necessary, stop and introduce or reuse the correct connector endpoint.
Example
Order Service / Map Order -> Sink(Order Events topic)
Order Events / orders.processed endpoint
Analytics Service / Input(Order Events topic) -> Count Orders