fix(graph): resolve root-qualified namespaced function calls#3997
fix(graph): resolve root-qualified namespaced function calls#3997jubjub727 wants to merge 1 commit into
Conversation
|
@jubjub727 is attempting to deploy a commit to the Boundary Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough
ChangesGraph Name Normalization
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for the PR! |
Author Comment
I found a bug with namespaces where referencing them with root results in graph view breaking. Fixed it by adding a single helper function that matches the name shape with what the downstream code consuming it expects by stripping the leading "root." from the name.
Codex Summary
Cross-namespace BAML calls use root-qualified paths such as
root.task_routing.ChooseTask(...). These calls compile and run correctly, but the graph analyzer retained the leadingroot.while its function resolver expected the playground-qualified nametask_routing.ChooseTask.The lookup therefore failed to recognize the callee as an LLM function. Graph preparation intentionally preserves LLM calls while pruning ordinary helper calls without
//#headers. Consequently, the misclassified call was removed and affected workflows could appear as only a root node.This change removes one leading
root.before graph lookup. The normalization applies both to requested graph entry points and to callees extracted from the AST. It is limited to static graph analysis and does not change runtime name resolution or displayed source labels.The regression test verifies that:
root.*call resolves asNodeType::LlmFunction.//#header.Tested with:
Summary by CodeRabbit