Skip to content

Mainframe orchestration

The mainframe use case is the first on the Flow platform. It provides end-to-end mainframe workflow orchestration built on Zowe CLI, demonstrated through a VS Code extension. It took first place in its hackathon division.

Michelle is a software engineer who is new to mainframes. She is comfortable with Java and Git, but her biggest challenge is not writing code. It is finding her way through too many different tools that do not work well together.

  • Siloed tooling. She has to switch constantly between VS Code, ISPF, and terminals.
  • No visual context. JCL-based processes do not have a visual structure.
  • Senior staff dependency. She has to rely on experts for routine tasks.
  • No feedback loop. She has to inspect the spool by hand, which breaks her flow between attempts.

Without Flow: She opens ISPF and navigates to the JCL. She submits the job by hand and checks the job queue from time to time. She opens the spool viewer and copies the results into an email for QA. If the job failed, she edits it again or asks a senior developer.

With Flow:

  1. She drags nodes onto the canvas.
  2. An AI node reviews the JCL locally. The inference runs on her machine, with zero network.
  3. The orchestration engine submits the job using an authenticated Zowe profile.
  4. A Download Spool node retrieves the output. An AI node then adds plain-language annotations, locally.
  5. Failure recovery suggests a fix and can re-run the job.
  6. An email notification with the AI-generated summary goes to QA.

All AI inference happened on Michelle’s machine. No data left her laptop.

StepNodeTypeDescription
1Submit JCLActionSubmits via Zowe CLI (authenticated)
2AI: Review JCLAI (local LLM)Local inference, no network
3Download SpoolActionRetrieves job output
4AI: Interpret spoolAI (local LLM)Local inference, no network
5Email NotificationUtilitySends AI-summarized results

When a step fails, the orchestration engine invokes local AI models to diagnose and suggest corrective action:

  • Syntax errors are re-analyzed by an AI node, which presents a one-click fix.
  • Non-zero return codes are passed to an AI node, which suggests parameter adjustments or JCL modifications.
  • Model unavailable is the deterministic fallback. The failure surfaces with the raw execution output, and the graph continues with the AI step skipped. It is never blocked.

AI models are stateless by design. This is a security property, not a limitation. On each retry the orchestrator passes the original input, the model’s previous suggestion, the outcome of applying it, and a retry counter. The model gets the history it needs without compromising its stateless isolation.

  • Auto-retry is opt-in per execution node, and it is off by default.
  • AI suggestions are presented for user approval before execution by default.
  • Fully autonomous retry has to be enabled explicitly.
  • All retry attempts are logged in the execution history for audit.