Commit cdfc492
committed
skills(automation): make every example parse and actually run
Third-party review found the five load-bearing examples broken against
the schemas the skill itself cites:
- Cron cadence lives in the START NODE's config.schedule ({ type:
'cron', expression } or bare string) — the top-level schedule: key is
silently stripped and the flow never binds to the scheduler.
- update_record/get_record filters are ObjectQL where MAPS ($in/$lt),
not {field,operator,value} triples (that's the UI view-filter
dialect); date values use {TODAY() + N} template tokens — cel
envelopes are not evaluated in CRUD filter values.
- Decision routing is edge-condition driven; unguarded out-edges all
run in parallel — the old pattern executed both branches. Edges now
carry mutually-exclusive cel conditions.
- FlowSchema requires label on every flow and node, and variables is an
array of { name, type, isInput } — all examples now pass
FlowSchema.parse (runtime-validated via defineFlow).
- http_request → http (retired alias), query_record → get_record
(NO_EXECUTOR throw), object: → objectName:; node table regenerated
from the 20-value FlowNodeAction enum (adds notify/map; script row =
registered callables only, inline JS never executes).
- Approval behavior enum completed (quorum/per_group + minApprovals +
per-approver group); waitEventConfig documented as canonical; unset
http timeoutMs = no timeout at all; removed the false claim that bare
field refs in start/edge conditions resolve to null; description
stops advertising the retired workflow metadata type; evals fixed
(expected output now passes its own criterion).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc1 parent a56cd6a commit cdfc492
3 files changed
Lines changed: 154 additions & 101 deletions
0 commit comments