Skip to content

docs(automation-skill): align objectstack-automation with the engine contract#1565

Merged
hotlong merged 1 commit into
mainfrom
fix/automation-skill-engine-contract
Jun 3, 2026
Merged

docs(automation-skill): align objectstack-automation with the engine contract#1565
hotlong merged 1 commit into
mainfrom
fix/automation-skill-engine-contract

Conversation

@xuyushun441-sys
Copy link
Copy Markdown
Contributor

Problem

The objectstack-automation skill documents a flow/trigger contract that does not match the runtime, so record_change flows authored by following it never fire (or silently no-op). This is the root cause behind a class of "my trigger flow doesn't run" issues — including the ObjectStack templates' inert automation.

Verified by probing a running 7.7 stack: a flow using the corrected shape fires and applies its update_record; the shapes the skill currently teaches silently do nothing.

Corrections (each checked against source)

Skill taught (wrong) Engine actually requires Source of truth
update_record/create_recordvalues fields service-automation/src/builtin/crud-nodes.ts reads cfg.fields
update_recordrecordId filter (filter ?? filters) same
standalone trigger: { object, event: 'after_update' } + type: 'record_triggered' start node config.triggerType: 'record-after-update' engine.ts resolveTriggerBinding (reads start-node config only); plugin-trigger-record-change triggerTypeToHookEvent
(no mention) triggers capability required in requires or the trigger plugin never loads runtime/src/cloud/capability-loader.ts (triggersRecordChangeTriggerPlugin)
next: node property nodes connect via edges engine.ts traverses flow.edges
flow type record_triggered / platform_event record_change / api spec FlowSchema enum ['autolaunched','record_change','schedule','screen','api']

Scope

Documentation only — skills/objectstack-automation/SKILL.md. No code changes. Three worked examples (scheduled, record-change/approval, trigger config) + the Flow Types & Trigger Events tables + Best Practices were brought in line with the executors.

🤖 Generated with Claude Code

…contract

The objectstack-automation skill taught a flow/trigger contract that does not
match the runtime, so flows authored from it never fire (root cause behind a
class of "record_change flow doesn't run" reports). Corrected against the
actual executors and binding code:

- update_record / create_record: data goes in `fields` (not `values`); rows are
  selected with `filter` (not `recordId`). Source: builtin/crud-nodes.ts reads
  `cfg.fields` and `cfg.filter ?? cfg.filters` — `values`/`recordId` are ignored.
- Record-change triggers bind via the flow's `start` node
  `config.triggerType` ∈ record-(before|after)-(create|update|delete) — there is
  NO standalone trigger object / top-level `trigger`/`event` key. Source:
  engine.ts resolveTriggerBinding (reads start-node config only) +
  plugin-trigger-record-change triggerTypeToHookEvent.
- Added the `triggers` capability prerequisite (`requires: ['automation','triggers']`)
  — without it the trigger plugin never loads and flows register but never fire.
- Nodes connect via `edges`, not a `next:` property (engine traverses flow.edges).
- Flow `type` enum fixed: `record_change` (not `record_triggered`), `api`
  (dropped the non-existent `platform_event`). Source: spec FlowSchema enum
  ['autolaunched','record_change','schedule','screen','api'].

Verified end-to-end against a running 7.7 stack: a flow using the corrected
shape fires and applies its update_record; the old shapes silently no-op.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 3, 2026 9:32am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/m labels Jun 3, 2026
@hotlong hotlong merged commit 17328ee into main Jun 3, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants