Skip to content

[Feature] Integration with CatGo — visual editing & monitoring of quacc workflows #3240

Description

@Hello-QM

What new feature would you like to see?

Our group recently developed CatGo, an AI-agent-driven platform for computational chemistry with a focus on computational catalysis. It combines an interactive 3D structure builder/viewer, a visual DAG
workflow editor, HPC job submission/monitoring, and a natural-language assistant in a single tool.

A recurring pain point for catalysis researchers is the gap between authoring a workflow in code and interactively building/inspecting the structures and monitoring the jobs it runs on. quacc's recipe/flow
design is an excellent fit for the execution side, and we'd like to explore making it a first-class backend engine for CatGo so the two halves connect.

Describe the solution you'd like

Integrate quacc with CatGo so that:

  1. quacc as a backend execution engine — CatGo workflows (or quacc flows) execute through quacc recipes, with CatGo handling structure editing, HPC submission, and live job monitoring in its UI.
  2. Bidirectional workflow exchange — a quacc @flow can be visualized and edited as a DAG in the CatGo frontend, and a graph edited in CatGo can be exported back to a runnable quacc flow.
  3. Catalysis-oriented UX — researchers edit slabs/adsorbates and surface models visually in CatGo, dispatch the run via quacc, and watch progress in the CatGo job UI — without hand-writing or re-deriving the
    flow.

Describe alternatives you've considered / what already exists on our side

We've already built a one-directional prototype to validate feasibility:

  • An import endpoint that statically parses a quacc @flow-decorated function (AST) — or a declarative job list — and converts it into an editable CatGo workflow DAG.
  • A recipe-path mapping layer (quacc.recipes... → CatGo node types with sensible default parameters), currently covering VASP core recipes and others.
  • A set of importable quacc workflow templates.

This proves the visualization/editing direction works. The natural next steps — and where guidance from the quacc side would help — are (a) running through quacc as the execution backend rather than
re-mapping to our own engines, and (b) a stable, round-trippable serialization so edits in CatGo regenerate a valid quacc flow.

Questions for the maintainers

  1. Is there interest in (or prior art for) a GUI front-end driving quacc, and would you be open to collaborating / accepting upstream hooks that make this cleaner?
  2. What is the recommended stable interface to (de)serialize a flow and its job DAG (e.g. for round-tripping through an external editor)?
  3. For live monitoring, what's the best supported way to stream per-job status from a running flow (recommended workflow engine, results store, or API) so an external UI can subscribe?
  4. Any pitfalls you'd flag for treating quacc recipes as nodes that a non-quacc scheduler/UI submits and tracks?

We'd be glad to share the prototype, demo it, and contribute upstream where it makes sense. Thanks for quacc — its recipe design made the prototype straightforward to build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions