name: parallel-load-test-workflow
description: A workflow designed to generate 20 parallel LLM calls to test concurrency limits.

# Specifies the output directory relative to this workflow file
output_path: "output"

# Files to include (tasks, sets, etc.) relative to this workflow file
files:
  - path: tasks/simple-echo-task.md
  - path: sets/process-items.set.yaml

# Variables accessible throughout the workflow
# variables:
#  # Define a list of 20 items for the set to iterate over
#  item_list: &itemList
#    - Item 1
#    - ... (rest of items) ...

# Define data structures for set iteration
iterable_objects:
  # Define the list here, where for_each expects it
  item_list: &itemList # The key 'item_list' matches the for_each target in the set
    - Item 1
    - Item 2
    - Item 3
    - Item 4
    - Item 5
    - Item 6
    - Item 7
    - Item 8
    - Item 9
    - Item 10
    - Item 11
    - Item 12
    - Item 13
    - Item 14
    - Item 15
    - Item 16
    - Item 17
    - Item 18
    - Item 19
    - Item 20

# Sets to execute in order
sets:
  # The for_each in process-items.set.yaml targets 'item_list' from iterable_objects
  - useSet: process-items 
    for_each: item_list # Target the iterable_object named item_list
  # No context block needed here, for_each handles finding item_list in iterable_objects