Files
inkreach-teable-cli/.agents/skills/inkreach-teable/api-reference
yeuimu dc92b4cc8f fix(workflow): suppress self-echo trigger duplication on workflow-written records
One user edit cascaded into 3-5 workflow executions and hourly sync jobs
generated 1000+ wasted runs/week (7d: 15.7k of 18k executions of the
ticket-status workflow ended in skipped no-op guards). Root cause: workflow
scripts write records via REST with a runner-signed token, and record-event
triggers could not distinguish those writes from human edits — every script
PATCH re-triggered its own workflow.

Attribution chain (new):
- WorkflowTokenService signs {workflowId, executionId} into the runner token
- jwt.strategy lifts it into CLS workflowContext (User-type branch)
- all 13 automation.record.* emit sites tag payloads with writeSource
- the 4 record triggers drop SELF echoes (writeSource.workflowId === own id)
  unconditionally; cross-workflow writes keep firing by default (chaining is
  load-bearing: order-sync建档 -> status workflow stamps 待处理, ~142 real
  actions/week). Opt-in stronger dedup via trigger config
  skipWorkflowWrites: true.

Verified live: human edit (处理反馈=正在核实) -> exactly 1 execution, script
flipped 流转状态 待处理->处理中, zero follow-up echoes; restore writes likewise
1 execution each with skipped no-ops. Unit: 14 new tests, 318 adjacent green.
2026-09-18 02:28:11 +00:00
..