---
name: dag_step
lang: go
domain: core
version: "1.0.0"
algebraic: product
definition: |
  type DagStep struct {
      Name        string
      ID          string
      Description string
      Command     string
      Script      string
      Args        []string
      Shell       string
      Dir         string
      Depends     []string
      Env         map[string]string
      ContinueOn  DagContinueOn
      RetryPolicy DagRetryPolicy
      TimeoutSec  int
      Output      string
      Tags        []string
  }
description: "Un paso individual en un workflow DAG con command/script, dependencias y configuracion de reintentos. Soporta variables de entorno por step, directorio de trabajo propio y politica continue_on."
tags: [dag, workflow, step, yaml, dagu]
uses_types: [dag_continue_on_go_core, dag_retry_policy_go_core]
file_path: "functions/core/dag_definition.go"
---

## Notas

Tipo producto. El campo ID es opcional y se usa como referencia en otros steps (ej: `${id.stdout}`). Si Name e ID estan ambos vacios, el step es invalido. Env del step se mergea sobre el Env del DAG padre durante la resolucion.
