Platform operations
Data source control
Versioned ports isolate Social, Research, identity and market-data shadowing from their selected adapters. Change configuration—not customer UI—to move from explicit development data to approved production pipelines.
synthetic_social_research_v1Deterministic fixture projection with process-local command overlays; replace by configuration without changing UI contracts.
Market-data shadow source
Compare canonical instruments against synthetic, public-validation or licensed normalized data without changing customer routes.
SelectionMARKET_SHADOW_SOURCE=synthetic | yahoo-validation | licensed-pipeline
Local status/api/v1/data-sources/market-shadow
Comparison/api/v1/ops/market-shadow/{instrumentId}
Cutover ruleExact approved licensed match only; public validation is permanently ineligible
Identity continuity source
Account linking, device sessions, legacy-session exchange and entitlement shadow comparison share one fail-closed port.
SelectionIDENTITY_SOURCE=synthetic | http-pipeline
Local status/api/v1/data-sources/identity
Automatic linkingDisabled until exact provider-subject and legacy-account evidence is accepted
Swap interface
The UI consumes social-research-data.v1 in every mode; there is no fixture-specific branch in customer routes.
| Selector | Adapter | Reads | Commands | Required configuration |
|---|---|---|---|---|
synthetic | Fixture overlay | Deterministic snapshot | Process-local, idempotent | None; production blocked |
postgres | Control plane | Canonical SQL projection | Transaction + receipt + outbox | DATABASE_URL and migrations |
http-pipeline | Translator / licensed | Validated remote snapshot | Forwarded with idempotency key | Pipeline URL, token and source ID |
Current projection
Generated 31/10/2026, 10:34:49 am for product_stockedge_shadow.
Pipeline implementation contract
A future StockEdge translator, event-backed read model or licensed vendor needs only these two operations.
SnapshotGET /v1/social-research/snapshot?productId=&viewerUserId=
CommandPOST /v1/social-research/commands with Idempotency-Key
Local status/api/v1/data-sources/social-research
SelectionSOCIAL_DATA_SOURCE=synthetic | postgres | http-pipeline