From 41a8e07f4cd650dd8f18aeb97d00a722a86c2fa7 Mon Sep 17 00:00:00 2001 From: Ali jawwad <33836051+jawwad-ali@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:10:06 +0500 Subject: [PATCH] docs(workflows): fix stale FanOutStep docstring claiming sequential-only execution (#3639) 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 81cf4f8d5..d961170c8 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"