Shared vocabulary
Shared vocabulary is how orchestration runs one pipeline across many networks.
When the orchestration layer schedules a job per
(pipeline, network), each network may name its streams differently — one calls
it accounts, another customers; one lacks a campaigns stream entirely.
Rather than write a pipeline per network, you write one pipeline against
canonical node names, and each network maps those names to its own streams —
or marks one unsupported. The orchestrator then renders the right streamwright run for
each network from that map.
| Canonical node | network_a | network_b | network_c |
|---|---|---|---|
accounts | accounts | customers | accounts |
campaigns | campaigns | campaigns | unsupported |
metrics | daily_metrics | stats | insights |
One pipeline uses the canonical names on the left. Each network's streams: map provides its own stream for each node, or marks it unsupported — so the same pipeline runs across networks that name (or lack) streams differently.
How it works
A network's streams: map aliases each canonical node to its real stream name,
and false marks a node unsupported:
streams:
accounts: accounts
campaigns: false # this network has no campaigns stream
metrics: insights # mapped to a differently-named stream
Because the pipeline references only canonical names, the same pipeline runs
across every network — including those that name streams differently or lack
some entirely. Edge overrides (after:) let a network tweak ordering when needed.
This is what lets StreamWright scale across networks: add a network by writing a small map, not a new pipeline.