From f9d02d0fa38066f0950c927ce6dab6830db3e515 Mon Sep 17 00:00:00 2001 From: jawwad-ali Date: Wed, 22 Jul 2026 15:56:16 +0500 Subject: [PATCH] docs(workflows): fix stale FanOutStep docstring claiming sequential-only execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The FanOutStep class docstring stated that fan-out execution is "currently sequential" and that `max_concurrency` is "accepted but not enforced". That has been inaccurate since #3224, which added a bounded thread-pool concurrency path to `WorkflowEngine._run_fan_out` that honors `max_concurrency > 1`. Update the docstring to match the engine's own `_run_fan_out` docstring: `max_concurrency <= 1` (the default) runs items sequentially, while `> 1` runs up to that many items concurrently on a bounded thread pool. Docstring-only; no behavior change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 (1M context) --- src/specify_cli/workflows/steps/fan_out/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/specify_cli/workflows/steps/fan_out/__init__.py b/src/specify_cli/workflows/steps/fan_out/__init__.py index 81cf4f8d50..d961170c8c 100644 --- a/src/specify_cli/workflows/steps/fan_out/__init__.py +++ b/src/specify_cli/workflows/steps/fan_out/__init__.py @@ -12,9 +12,10 @@ class FanOutStep(StepBase): """Dispatch a step template for each item in a collection. The engine executes the nested ``step:`` template once per item, - setting ``context.item`` for each iteration. Execution is - currently sequential; ``max_concurrency`` is accepted but not - enforced. + setting ``context.item`` for each iteration. ``max_concurrency`` + controls parallelism: ``<= 1`` (the default) runs items + sequentially, while ``> 1`` runs up to that many items concurrently + on a bounded thread pool (see ``WorkflowEngine._run_fan_out``). """ type_key = "fan-out"