From 060110f0f84f8d6b9a9642776fa2d20c33db37d8 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Thu, 16 Apr 2026 20:06:10 +0200 Subject: [PATCH] execute: parallel steps, pipeline stages, language selection docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - prompts/02_tools.md: parallel execution and language selection sections - skills/execute-pipe/SKILL.md: new skill — pipeline patterns, parallel fan-out, ETL pattern, language selection table, when to load guidance - core submodule updated to parallel execute_code/execute_pipe --- core | 2 +- prompts/02_tools.md | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core b/core index 54f20bc..cf25268 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 54f20bce023ca238ffd7c56f461d60cdfb3d8771 +Subproject commit cf25268d80ef23925e43b18248a63d52668076e4 diff --git a/prompts/02_tools.md b/prompts/02_tools.md index 59f8127..1b773c2 100644 --- a/prompts/02_tools.md +++ b/prompts/02_tools.md @@ -1,6 +1,6 @@ # Tools -Tool scripts live at `{{.OllieMountPath}}/t`. Run them with `execute_tool` or as steps in an `execute_pipe` pipeline. +Tool scripts live at `{{.OllieMountPath}}/t`. Run them with `execute_tool` or as stages in an `execute_pipe` pipeline. Supported languages are detected from the script's shebang line: - `#!/usr/bin/env bash` — runs with `bash -c` @@ -15,3 +15,15 @@ args: [optional] ``` Search before acting: `grep -A2 "keyword" {{.OllieMountPath}}/t/idx` + +## Parallel execution + +`execute_code` accepts a `steps` array. Multiple steps run concurrently; results are returned in submission order. Single-step calls return raw output. + +`execute_pipe` stages may be `{parallel: [...]}` to fan out concurrently within a pipeline. All parallel steps should produce the same output schema so their concatenated output is coherent for the next stage. Load the `execute-pipe` skill for full pipeline patterns and the ETL pattern for disparate schemas. + +## Language selection + +For inline code steps (`{code}`), set `language` to choose the interpreter (default: `bash`). Supported: `bash`, `python3`, `perl`, `lua`, `awk`, `sed`, `jq`, `ed`, `expect`, `bc`. + +For tool steps (`{tool}`), the interpreter is determined by the script's shebang line — `language` is ignored.