CPMForge Workflow Lens
Read a whole RPA process, not one file at a time.
The premise
Low-code RPA tooling can decompose a process — extract a fragment into its own
workflow — but offers no inverse. A process ends up spread across dozens of
.xaml files, and every tool shows one of them at a time. Reading the process
means opening files in sequence and holding the call graph in your head.
Workflow Lens resolves invoked-workflow activities and grafts the callee's model
into the caller, so a call site can be read in place, with the arguments that
cross it.
What it does
- Transclusion — invoked workflows are filled into one model, to a bounded
depth. A capped call site is a known continuation you can open, not an error.
- Three views over one model — activity cards, indented pseudocode, or the
XAML source of everything transcluded into the file.
- Contract checking — what a call site passes against what the callee
declares: unbound arguments, undeclared ones, direction mismatches. Coded
(
.cs) workflows too, whose Execute signature maps onto declared arguments
without loss.
- A display filter over the model rather than the text —
kind == InvokeWorkflowFile and name ~ Sap.
- Copy for coding agents — an activity and its scope closure, as LLM
context, outline, Markdown, or verbatim XAML that pastes back into the
designer.
- Un-composition — flatten a workflow's invoke closure into a single
.xaml. The inverse the tooling never shipped.
Everything is derived from the files on disk. No reflection, no designer, no
runtime.
Status
Early, and developed in the open as a spike. Interfaces and settings will move.
Licence
Apache 2.0. The full text ships
in the extension as LICENSE.
Independent tooling for the XAML workflow and project.json file formats. Not
affiliated with, endorsed by, or connected to any vendor, and no vendor
trademark is used in its name or branding.