Relationships
↔ sibling #3623#3678 Docs: step dataOutputOverrides vaultName and the field-by-field override merge (swamp-club#3606)
Opened by stack72 · 10/20/2026· Shipped 10/21/2026
What changed
swamp-club#3606 (released in v20261020.175130.0-sha.72af7c6c, swamp PR 3232) makes a workflow step's dataOutputOverrides[].vaultName work: it routes that spec's sensitive outputs to the named vault. Before, it was accepted and silently dropped. The same change makes a step override merge with the definition's resources.<specName> override field by field: each field the step sets wins, and the definition supplies the rest. A step that sets only vary now keeps the definition's vaultName, lifetime and garbageCollection; before, they fell back to the spec defaults.
Pages that need updating
content/manual/reference/workflows.md, DataOutputOverride table: addvaultName(string, optional: vault for this spec's sensitive fields; may be an expression such as one reading a workflow input, evaluated at run time). Add a sentence on the field-by-field merge with the definition'sresourcesoverride.content/manual/reference/vaults.md, Vault Resolution Order, item 2: list a workflow step'sdataOutputOverridesvaultNamenext to the definition'sresources.<specName>.vaultName; for the same spec the step's wins.content/manual/reference/data.md, Vault Resolution Order: it lists only field, spec and first available vault. Bring it in line with reference/vaults.md (definition override, step override,defaultVault) or link to it. Its Data Output Overrides table also lacksvaultName.content/manual/how-to/vaults/route-sensitive-fields.md: add routing per workflow step as an option, for when one definition's outputs should land in different vaults depending on the workflow (for example a prod vault for a prod workflow).
Behaviour worth stating
swamp workflow validatereports a step's sensitive-output vault that is missing from the workflow'svaults:list. It skips a step whosevaultNameis an expression; the run checks the evaluated vault before the method starts.swamp vault removerefuses a vault named by a step override unless--force, reported asworkflow '<name>' (data output override).- The in-repo design docs carry the authoritative wording:
design/primitives/workflows.md(Data Output Overrides with Vary Dimensions),design/primitives/vaults.md,design/enablers/data-query.md.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.