Commit bed4cf4
committed
docs(service-automation): rewrite the README against the real flow DSL (#4452)
The README's flow sections described a DSL that has never existed. Every node
type name was wrong (`record_create` vs `create_record`, `query` vs
`get_record`), the interpolation dialect was Salesforce's `{!…}` which the
platform does not parse, and branching/looping/error handling were written as
nested `steps` arrays -- a shape the schema has no key for. Nothing in it ran.
Since #4414 + #4439 this stopped being merely useless: `conditions[].expression`
is on the expression ledger, so the README's `'{!trigger.record.amount} > 10000'`
is now REFUSED at `registerFlow()` / `objectstack validate`. An author copying
it got a CEL error whose advice ("drop the braces") did not fix their node,
because the node's entire shape was wrong too.
Rewritten from the schemas and executors, not from the old README:
- Flows are a DAG of flat `nodes` + `edges`. Branching is an edge, and a
decision routes by matching its branch `label` to an out-edge `label` --
the #4414 trap, called out inline.
- The record-change binding lives on the `start` node's config
(`{ objectName, triggerType, condition }`), not at the flow top level.
- CRUD config table: `objectName` (not `object`), `filter` as an OBJECT (not a
`filters` array of triples), `outputVariable` (not `output`), no `recordId`.
Notes that `update_record` has no `outputVariable` -- the executor reads none.
- Both expression dialects stated with the rule that disambiguates them: every
condition is bare CEL, braces are for values. Says plainly that `{!…}` is not
a dialect here.
- `loop` / `parallel` / `try_catch` given their real ADR-0031 region shape
(`config.body`, `config.branches`, `config.try`/`catch`), and `wait` its
node-level `waitEventConfig` block rather than the invented `duration` +
`nextSteps`.
- Flow `type` values corrected (`schedule`, not `scheduled`).
Per the issue's preference, the per-node reference is NOT duplicated here: the
README now points at content/docs/automation/flows.mdx, the maintained one.
Keeping a second hand-written node catalog in a package README is the
#4027/#3569 shape that produced this drift.
`pnpm --filter @objectstack/spec check:generated`: all 8 artifacts up to date.
Fixes #44521 parent a090992 commit bed4cf4
1 file changed
Lines changed: 182 additions & 229 deletions
0 commit comments