Skip to main content

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 nodenetwork_anetwork_bnetwork_c
accountsaccountscustomersaccounts
campaignscampaignscampaignsunsupported
metricsdaily_metricsstatsinsights

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:

networks/network_c.yaml
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.