Skip to main content
Live. This area is documented as current, user-reliable behavior.

Goal

Create, validate, publish, approve, activate, run, and inspect an immutable production media workflow.

Prerequisites

  • Assets access
  • Publish authority for versions containing production, costly, or external actions
  • An active execution principal that retains access to every referenced resource

Workflow

1
Open Assets Workflows and choose a template or blank canvas; both produce the same graph contract.
2
Connect typed ports, configure nodes in the inspector, and resolve every validation issue.
3
Save the draft with its expected revision. Layout-only edits do not change the semantic digest.
4
Publish an immutable version. Review and approve its exact risks and constraints when required.
5
Activate that version, then let its trigger dispatch or start a manual run.
6
Inspect persisted node attempts, sanitized inputs/outputs, branch decisions, waits, nested Stackie calls, warnings, and approvals.

Graph contract and validation limits

  • One trigger; an acyclic, fully reachable graph; at most 100 nodes, 200 edges, depth 50, branch fan-out 10, and eight concurrently runnable nodes.
  • Semantic definition and layout are separate. Position, viewport, grouping, and annotations do not change the semantic digest or invalidate approval.
  • Nodes declare retry, timeout, and failure policy. Conditions support equals, not-equals, exists, contains, in, and numeric/date comparisons—no regex or arbitrary expression execution.
  • Joins use all_success, all_settled, or any_success. Branches must terminate and edge ports must be type-compatible.
  • Inline secrets and credential-bearing strings are rejected. Destructive, credential-revealing, billing, ownership, team-membership, arbitrary SQL/shell/JavaScript, and unrestricted HTTP operations are absent from the catalog.

Minimal graph

Triggers and node catalog

  • Triggers: asset upload, asset lifecycle event, typed StackShift event, five-field cron with IANA timezone, signed inbound webhook, and manual run.
  • Asset nodes: search/get, scan, moderate, analyze, transform, transcribe, generate, organize/tag/collect/move, branch/version promotion, publish, and signed webhook notification.
  • Native StackShift actions cover registered reversible and governed operations across projects/apps, builds/deployments, databases/backups, S2/storage, domains/mail, mobile/commerce, compute/BYOC/sandboxes, incidents/governance, and notifications.
  • Native actions invoke owning Go services directly under the workflow principal. They do not call loopback HTTP, mint internal PATs, or bypass service authorization and idempotency.
  • Control nodes are condition, parallel split, join, durable delay, success, and failure. Integration nodes are governed Stackie and restricted external HTTP.

Templates and blank canvas

  • Secure Image Publish; Video Ready Publish; Scheduled Library Publish; AI Image Generation and Moderation; Moderation Review Branch; Transform, Publish, and Notify.
  • Asset Publish and Project Redeploy; Approved Media and Mobile Release Promotion; Media Failure to Incident and Stackie Diagnosis; Asset Event to StackShift Mail Campaign; Cross-service Operations Review.
  • Catalog responses mark each template valid and include concrete issues if an action is unavailable or configuration is incomplete. A template never silently becomes executable with a missing action.
  • Every template opens as an ordinary editable graph. The desktop editor supports search, drag/drop, typed handles, reconnect, copy/paste, multi-select, groups, undo/redo, ELK auto-layout, minimap, and test output. The outline editor is the accessible and small-screen operating surface.

Workflow API and SDK sequence

Expected result

Only the active immutable version receives events or schedules, and no path can publish an asset before successful scan and moderation.

Common failures

  • Autosave receives 412 because another editor changed the revision; compare and reload instead of overwriting.
  • Publish returns 422 because a node is unreachable, an edge type is incompatible, configuration is incomplete, or publish is not dominated by scan and moderation.
  • Activation returns 409 because a required version approval is pending, expired, or bound to an older semantic digest or connection revision.
  • A run fails before a node because the execution principal lost permission to a referenced account resource.

Media Workflow authority, integrations, and recovery

Operate workflow grants, execution principals, durable waits, restricted HTTP connections, signed inbound hooks, retries, cancellation, and post-publish warnings.

Deterministic image, video, and audio transforms

Define ordered v2 transforms for images, video renditions, audio extraction, and timestamp thumbnails; store eager presets or materialize durable derivatives.

Stackie asset tools and MCP

Use the same governed asset actions from Stackie, workflow Stackie nodes, and stateless Streamable HTTP MCP clients.