Skip to content

gxformat2 has no tool_uuid, so a step bound to a registered UDT imports unresolved #587

Description

@scottcain

Posted by an AI assistant on scottcain's behalf.

Summary

A gxformat2 step referencing a real, registered user-scoped dynamic tool by bare tool_id imports
and round-trips through gxwf convert without ever populating or requiring a tool_uuid. But real
Galaxy's step-to-tool resolution for a dynamic tool requires the native .ga step to carry that
tool's tool_uuid explicitly. A bare tool_id never resolves to a user-scoped dynamic tool, even
after successful registration and even though the tool_id string itself is correct.

The result: all 3 UDT steps showed "Tool is not installed" after a clean gxformat2 import, with no
schema-level signal of what was missing.

Evidence

gxformat2 import of the run's workflow — all 3 UDT tool_ids correct, all 3 tools already registered
via /api/unprivileged_tools — still showed all 3 steps tool-unresolved. Fetching the imported
workflow natively via GET /api/workflows/{id}/download confirmed each UDT step's JSON had no
tool_uuid key at all. Manually setting tool_uuid to each registered tool's real UUID in that
native JSON and re-importing via POST /api/workflows produced a workflow with zero step errors
on the same check.

Compounded by a second, separately-filed gxwf defect (step.in is not iterable), which blocked
using gxwf itself for the format2 → native conversion, forcing the round trip through Galaxy's own
download endpoint.

Expected

Either extend the gxformat2 step schema and galaxy-workflow-draft-format to model an optional
tool_uuid — populated once a dynamic/UDT tool is registered — so a draft can carry it through the
normal pipeline; or document explicitly in freeform-summary-to-galaxy-template,
advance-galaxy-draft-step, and run-workflow-test that a step resolving to a UDT must, at
deployment time, be converted to native .ga with its tool_uuid injected post-registration. Neither
is documented anywhere in the pipeline's packaged references today.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions