Skip to content

feat(pipeline): WorkMgr .Queue() dispatch — emit CALLS edges for ##class(Pkg.Class).Method targets #1861

Description

@isc-tdyar

`pass_ensemble_routing.c` (merged in #1063) covers `SendRequestSync` targets. A companion pattern in IRIS/Ensemble code is WorkMgr dispatch:

```objectscript
Do ##class(%SYSTEM.WorkMgr).Queue("##class(MyApp.Worker).Process", arg)
```

The string literal `"##class(MyApp.Worker).Process"` names the class and method to invoke. This is the async work-dispatch idiom — functionally parallel to `SendRequestSync` but operating outside the Ensemble message bus.

Proposed: scan method bodies for `.Queue(` calls, extract the `##class(Pkg.Class).Method` literal from the first argument, and emit a `CALLS` edge from the calling method to the target method node (resolved by qualified name). Confidence 0.90 (string literal match, same file corpus).

Scope: ObjectScript `.cls` files only, gated on `has_objectscript_nodes`. No new node labels or edge types — uses existing `CALLS`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    parsing/qualityGraph extraction bugs, false positives, missing edges

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions