Skip to content

Consumer ​

Import a published workflow to reuse it in your project. An import pins the workflow source to a Git commit and creates a binding for a workflow_call, which runs the imported workflow in a separate process.

Importing ​

  1. Run Verdog: Browse Published Workflows from the VS Code Command Palette.
  2. Select the workflow and release, then choose Inspect release.
  3. After inspection completes, choose Import into project….
  4. Select the destination project and subroutine, enter a local dependency alias, and confirm the repository and commit.

Import checks out the commit as a Git submodule, records the workflow binding, and regenerates your project. In the destination project, use Verdog: Add Call to add a workflow call to your graph. Import alone does not add a call node.

Git uses your credentials to fetch the source repository and its nested dependencies. Catalogue access does not grant clone access; see Permissions. Generation during import sends your project's manifests and declared source files, including pinned dependencies, to the configured compiler service without requiring sign-in. Verdog: Check uses the same service and adds local type checking.

Dependencies ​

The project records the dependency's alias, package, repository, and commit in project.json. New releases do not change existing pins. Review a release's source and dependency changes before updating a project to use it.

A commit pin fixes workflow source. Python dependencies are resolved separately from each workflow's requirements.txt, so a source pin alone does not reproduce an installed environment.

After importing from a preview, choose Open Target Project. In that trusted project, run verdog sync to prepare the project and its pinned dependencies. Each workflow has a Python environment at .verdog/environments/<workflow-id>/ within its repository. The environment contains the workflow's requirements and the published verdog-runtime package. A workflow call uses the target workflow's environment, keeping the caller's and callee's Python dependencies separate.

The root project's .venv also contains verdog-runtime so editors can resolve Verdog declarations. Workflow requirements are installed in their individual environments.

A subroutine_call can target a pinned subroutine using alias/subroutine_id. This call runs in the caller's process and environment. The caller must provide compatible Python dependencies; the pinned workflow's requirements are not installed for an in-process call.

Running and parameters ​

Use Verdog: Run Workflow to run a workflow in VS Code. The selected workflow's Input type defines its invocation value. Its entry subroutine and reachable in-process subroutines declare their Params types in impl.py.

Each reachable in-process subroutine definition receives one parameter value. A subroutine call uses context.child_params by default. Its call adapter can supply an invocation-specific override with context.invoke(input, params=value).

A workflow call initializes parameters in the target process. An explicit params override replaces the target's entry parameters; other target subroutines use their own parameters. Provider configuration belongs to graph profiles and session bindings.

Reading before importing ​

The Catalogue in the VS Code extension lets you review a release before adding it to a project. Select Inspect release to download the exact commit and verify its published metadata. Inspection displays source and the workflow canvas without installing dependencies or executing workflow code. Import becomes available when inspection completes successfully.

Running an imported workflow

Metadata verification does not establish the correctness or safety of a workflow. Installing dependencies and running a workflow can execute code with your filesystem and network access. Review the workflow source and dependencies before preparing or running an imported workflow.