Summary
scope.server.frame_processor logs ERROR Pipeline setup failed: 8 validation errors for GraphConfig when a client sends edge definitions using old-style source/target keys instead of the current schema fields from, from_port, to_node, to_port.
Observed 4 times in the 12h window (2026-04-09 18:00 – 2026-04-10 06:00 UTC).
Error Details
From Grafana/Loki — 2026-04-09 ~23:09 UTC
scope.server.frame_processor - ERROR - Pipeline setup failed: 8 validation errors for GraphConfig
edges.0.from
Field required [type=missing, input_value={'source': 'input', 'target': 'pipeline'}, input_type=dict]
edges.0.from_port
Field required [type=missing, input_value={'source': 'input', 'target': 'pipeline'}, input_type=dict]
edges.0.to_node
Field required [type=missing, input_value={'source': 'input', 'target': 'pipeline'}, input_type=dict]
edges.0.to_port
Field required [type=missing, input_value={'source': 'input', 'target': 'pipeline'}, input_type=dict]
edges.1.from
Field required [type=missing, input_value={'source': 'pipeline', 'target': 'output'}, input_type=dict]
edges.1.from_port
Field required [type=missing, input_value={'source': 'pipeline', 'target': 'output'}, input_type=dict]
edges.1.to_node
Field required [type=missing, input_value={'source': 'pipeline', 'target': 'output'}, input_type=dict]
edges.1.to_port
Field required [type=missing, input_value={'source': 'pipeline', 'target': 'output'}, input_type=dict]
Timestamps: 2026-04-09 23:09:57, 23:12:44, 23:39:26, 23:45:02 UTC
fal_job_id: d35991f0-7869-44ca-88b4-1459ad9c7774
fal_app_name: scope-app--prod
Context
The client is sending edges as [{'source': 'input', 'target': 'pipeline'}, ...] — an older schema where edges were identified by source/target node names without port information.
The server-side GraphConfig pydantic model now requires from, from_port, to_node, to_port on each edge.
Despite the validation failure, the stream appears to start (pipeline loaded successfully just before), but frame_processor cannot set up processing — video output shows 0 frames published for the session duration.
Impact
- Session starts but no frames are processed/output
- 4 occurrences in 12h window — suggests multiple users on an older client version
- Silent failure: user sees stream but no AI output
Possible Causes
- Client/server version skew — an older Scope desktop client sending the old edge schema to an updated cloud backend
- Missing schema migration —
GraphConfig model doesn't include a backwards-compat source/target alias
Suggested Fix
Either:
- Add pydantic alias/validator to accept both old (
source/target) and new (from/to_node) edge schema formats
- Or surface a clearer error to the client asking them to update
Summary
scope.server.frame_processorlogs ERRORPipeline setup failed: 8 validation errors for GraphConfigwhen a client sends edge definitions using old-stylesource/targetkeys instead of the current schema fieldsfrom,from_port,to_node,to_port.Observed 4 times in the 12h window (2026-04-09 18:00 – 2026-04-10 06:00 UTC).
Error Details
From Grafana/Loki — 2026-04-09 ~23:09 UTC
Timestamps: 2026-04-09 23:09:57, 23:12:44, 23:39:26, 23:45:02 UTC
fal_job_id:
d35991f0-7869-44ca-88b4-1459ad9c7774fal_app_name:
scope-app--prodContext
The client is sending edges as
[{'source': 'input', 'target': 'pipeline'}, ...]— an older schema where edges were identified bysource/targetnode names without port information.The server-side
GraphConfigpydantic model now requiresfrom,from_port,to_node,to_porton each edge.Despite the validation failure, the stream appears to start (pipeline loaded successfully just before), but
frame_processorcannot set up processing — video output shows 0 frames published for the session duration.Impact
Possible Causes
GraphConfigmodel doesn't include a backwards-compatsource/targetaliasSuggested Fix
Either:
source/target) and new (from/to_node) edge schema formats