diff --git a/src/openhuman/flows/agents/workflow_builder/prompt.md b/src/openhuman/flows/agents/workflow_builder/prompt.md index 4d5c5c7153..a9805b4f06 100644 --- a/src/openhuman/flows/agents/workflow_builder/prompt.md +++ b/src/openhuman/flows/agents/workflow_builder/prompt.md @@ -307,6 +307,14 @@ the run scope (`.`): the first output is used; a bad program yields `null` (never an error). - A string **without** a leading `=` is a literal. To emit a literal `=`, don't start the string with it. +- **Never mix the shorthand with jq.** If an expression **begins with a bare + scope key** (`item`/`items`/`run`/`nodes`) and continues into jq syntax — + `|`, `[`, functions (`any(...)`, `length`), or anything beyond a plain + dotted path — it MUST start with `.` instead (the jq root): write + `"=.item.labels | any(.name==\"x\")"`, NOT `"=item.labels | any(...)"`. The + plain shorthand `"=item.labels"` (no jq) is fine alone. Expressions that + already start with valid jq syntax (e.g. `"=[.item.a, .item.b]"` for array + construction) don't need an extra leading dot — only bare scope keys do. The scope exposes: diff --git a/vendor/tinyflows b/vendor/tinyflows index 56d81dfdad..68590ed32e 160000 --- a/vendor/tinyflows +++ b/vendor/tinyflows @@ -1 +1 @@ -Subproject commit 56d81dfdadc1454189322d744e050ae4f7e525f9 +Subproject commit 68590ed32e2450c62dbdb9d2ff5a0178e00c22ea