Skip to content

Fix unlabeled tool steps getting dangling numeric source refs after roundtrip#149

Merged
jmchilton merged 1 commit intomainfrom
unlabelled_tool_fix
Mar 21, 2026
Merged

Fix unlabeled tool steps getting dangling numeric source refs after roundtrip#149
jmchilton merged 1 commit intomainfrom
unlabelled_tool_fix

Conversation

@jmchilton
Copy link
Member

Summary

  • Extend _unlabeled_input_ sentinel pattern to all unlabeled step types (tool, pause, subworkflow, pick_value)
  • Export assigns _unlabeled_step_N sentinels in label_map and on step dicts so source references remain stable across round-trip
  • Converter strips sentinels back to label: None on reimport
  • Normalize registers numeric IDs alongside sentinel labels in runs_by_label for anonymous subworkflow output resolution

Closes #146

Test plan

  • All 113 tests pass (including abstract export tests)
  • Round-trip test for unlabeled tool step verifies connection target and step type are preserved
  • Round-trip test for unlabeled pause step verifies same

🤖 Generated with Claude Code

@codecov
Copy link

codecov bot commented Mar 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.03%. Comparing base (024d49f) to head (c117052).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #149   +/-   ##
=======================================
  Coverage   41.03%   41.03%           
=======================================
  Files          51       51           
  Lines        1974     1974           
  Branches      441      441           
=======================================
  Hits          810      810           
  Misses       1047     1047           
  Partials      117      117           
Flag Coverage Δ
unittests 41.03% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jmchilton jmchilton force-pushed the unlabelled_tool_fix branch from ec7c6ee to d06348f Compare March 21, 2026 12:45
…oundtrip

Extend _unlabeled_input_ sentinel pattern to cover all unlabeled steps:
- Export assigns _unlabeled_step_N sentinels to unlabeled tool/pause/
  subworkflow/pick_value steps in label_map and step dicts
- Converter strips sentinels back to label=None on reimport
- Normalize registers numeric IDs alongside sentinel labels in
  runs_by_label for anonymous subworkflow output resolution

Closes #146

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jmchilton jmchilton force-pushed the unlabelled_tool_fix branch from d06348f to c117052 Compare March 21, 2026 13:30
@jmchilton jmchilton merged commit 22df9a4 into main Mar 21, 2026
20 checks 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.

Unlabeled tool steps get dangling numeric source references after roundtrip

1 participant