Skip to content

Correct the frame-list type on the pipeline runner's node input - #44

Merged
w4ffl35 merged 1 commit into
mainfrom
fix/pipeline-runner-frames-type
Sep 16, 2026
Merged

w4ffl35 merged 1 commit into
mainfrom
fix/pipeline-runner-frames-type

Conversation

@w4ffl35

@w4ffl35 w4ffl35 commented Sep 16, 2026

Copy link
Copy Markdown
Member

_node_input is annotated Tuple[List[float], bool] but returns a list of frames, not a list of floats. The no-incoming-edge branch returns frames_from() (List[Any]); the other wraps one extracted vector as [frame].

This has been failing lint on main since 60763a2 — it is not introduced by any open PR.

Only the annotation changes. The runtime shape is correct and unchanged: ServingService.predict consumes a list of frames, and a single-node graph run returns a prediction end to end.

Verified

  • mypy clean across all 413 source files (the exact job CI runs)
  • ruff check . clean
  • tests/test_pipeline_runner.py, test_pipeline_graph.py, test_pipeline_store.py, test_server_pipeline_actions.py — 33 passed

No human review or manual testing was performed.

_node_input is annotated Tuple[List[float], bool], but it returns a list of frames, not a list of floats: the no-incoming-edge branch returns frames_from(), which is List[Any], and the other branch wraps a single extracted vector as [frame]. mypy caught the mismatch and the lint job has been failing on main since 60763a2.

Only the annotation was wrong. The runtime shape is correct and unchanged -- ServingService.predict consumes a list of frames, and a single-node graph run returns a prediction end to end.

Verified: mypy clean across all 413 source files, ruff clean, and the four pipeline test files pass (33 passed).
@w4ffl35
w4ffl35 merged commit 7582e03 into main Sep 16, 2026
19 checks passed
@w4ffl35
w4ffl35 deleted the fix/pipeline-runner-frames-type branch September 16, 2026 11:47
w4ffl35 added a commit that referenced this pull request Sep 16, 2026
_node_input is annotated Tuple[List[float], bool], but it returns a list of frames, not a list of floats: the no-incoming-edge branch returns frames_from(), which is List[Any], and the other branch wraps a single extracted vector as [frame]. mypy caught the mismatch and the lint job has been failing on main since da88b88.

Only the annotation was wrong. The runtime shape is correct and unchanged -- ServingService.predict consumes a list of frames, and a single-node graph run returns a prediction end to end.

Verified: mypy clean across all 413 source files, ruff clean, and the four pipeline test files pass (33 passed).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant