Structured contract copied for validation or lookup.
- Purpose
- Output contract: the emitted gxformat2 draft conforms to [[galaxy-workflow-draft]]. Cast bundles the JSON Schema so the skill carries its output shape alongside [[draft-validate]] checks.
Apply a reviewed change-set to a concrete Galaxy workflow: untouched regions preserved, tool-introducing edits injected as drafty steps.
Directory Mold with only index.md frontmatter.
target-specific fields are coherent.
Abstract oracle: fixture-independent property checks any run must satisfy.
eval.md declares properties and check type.
eval.md ↗Concrete cases: fixtures bound to expected values, run against the eval properties.
scenarios.md not written yet.
4 typed references; 0 resolver issues.
All on-demand references describe triggers.
Hypothesis references include verification.
Typed Mold references describe what casting consumes and when the generated skill should load each artifact.
Structured contract copied for validation or lookup.
Background synthesis loaded by explicit progressive-disclosure metadata.
Command reference. Usually cast to a sidecar and loaded only when invoked.
Background synthesis loaded by explicit progressive-disclosure metadata.
gxformat2 draft (see [[galaxy-workflow-draft-format]]) of the whole workflow: untouched steps carried at Resolved tier verbatim; tool-introducing/replacing edits injected as drafty steps with _plan_* fields for the per-step loop; direct edits applied inline.
Updated obligations ledger: new unmet needs an edit surfaces appended; prior entries its edits close marked resolved.
The concrete gxformat2 workflow being modified (already converted from .ga if needed). The substrate edits apply to — untouched regions must survive byte-for-byte.
Reviewed, step-anchored change-set from [[interview-to-galaxy-workflow-changeset]]; the edit intents to realize.
Carried obligations ledger [[open-requirements-ledger]]: read open entries bearing on the edits; append any an edit cannot satisfy and mark resolved the ones it closes.
Apply a reviewed change-set to a concrete Galaxy workflow and emit a galaxy-workflow-draft.gxwf.yml. This Mold plays the topology-settling role the *-to-galaxy-template Molds play in the greenfield pipelines — but it starts from an already-concrete workflow, so its defining job is to change only what the change-set names and carry everything else through untouched.
An edit is a drafty region. The Foundry already drains drafty steps out of a partially-concrete workflow via advance-galaxy-draft-step. So this Mold does not resolve tools or run an edit loop of its own. It represents the whole modified workflow as a draft (see galaxy-workflow-draft-format): untouched steps carried at Resolved tier verbatim, and any edit that introduces or replaces a tool injected as a drafty step + _plan_* for the per-step loop to realize.
remove-step, rewire, relabel / annotate, change-parameter, add-input / remove-input, add-output / expose-output. These need no tool resolution: edit the concrete step/input/output in place and rewire consumers as the change-set dictates. A change-set of purely direct edits yields a draft with draft: false — an immediately concrete workflow, no loop iterations.add-step and replace-tool (when the replacement is a different tool or an unpinned version). Add the step at draft tier with tool_id: TODO (or Identity-pinned when the change-set pinned an id), and record the operation, source evidence, and constraints in _plan_state / _plan_context / _plan_in / _plan_out so advance-galaxy-draft-step can resolve a wrapper and concretize it.Every step, input, and output the change-set does not name must survive byte-for-byte: same tool_id, tool_version, tool_state, labels, and connections. Do not reorder, reformat, re-case, or “tidy” an unrelated region — a structural diff of the emitted workflow against the input must touch only the change-set’s targets and their necessary consequences (e.g. rewiring a consumer of a replaced producer). Gratuitous churn is a defect, not a style choice.
An edit can create a gap the connection graph won’t catch: a rewire whose source doesn’t carry what the consumer needs, or a replace-tool whose new tool can’t supply a downstream port. Before handing off, check each edited region is computable from what feeds it. Where you find a gap you can’t wire, append a blocking entry to the open-requirements-ledger naming the edit, the uncomputable output, and the missing evidence — so the per-step loop or repair-galaxy-draft-topology acts on it rather than discovering it late. Never fabricate a connection to make the graph look complete. More generally, carry the ledger: read the entries bearing on the edits and mark resolved the ones the change-set closes.
Run draft-validate on the emitted draft (sentinel form, topology, _plan_* placement). On green, hand the draft to advance-galaxy-draft-step, which drains any injected drafty steps and extracts the concrete galaxy-workflow.gxwf.yml. If the change-set was all direct edits, the loop is a no-op and the workflow is already concrete.