You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
body.id looks like an identifier and is not one. It is a pipe slot the engine reuses. Identity throughout is the begin event's continuum seq — that is what the run archive is keyed by, what an answer carries in chat, and what getTrace and traceSlice resolve.
Filed from section 4.3 of the Rocket CRM runtime findings (docRevision 252). Part of the Rocket CRM build tracked in rocketride-ai/rocketride-saas#456.
Mechanism
A field named id on an event body reads as the event's or the run's identity. Keying anything on it produces collisions that look like data corruption, because a later run reuses the slot. Nothing at the point of use says otherwise.
What we do today
Key everything on the begin event's continuum seq, and never touch body.id.
Ask
Rename it, or document it at the point of use — a one-line fix upstream against a multi-hour debugging session for every app that assumes otherwise.
body.idlooks like an identifier and is not one. It is a pipe slot the engine reuses. Identity throughout is the begin event's continuum seq — that is what the run archive is keyed by, what an answer carries in chat, and whatgetTraceandtraceSliceresolve.Filed from section 4.3 of the Rocket CRM runtime findings (docRevision 252). Part of the Rocket CRM build tracked in rocketride-ai/rocketride-saas#456.
Mechanism
A field named
idon an event body reads as the event's or the run's identity. Keying anything on it produces collisions that look like data corruption, because a later run reuses the slot. Nothing at the point of use says otherwise.What we do today
Key everything on the begin event's continuum seq, and never touch
body.id.Ask
Rename it, or document it at the point of use — a one-line fix upstream against a multi-hour debugging session for every app that assumes otherwise.
Related
apaevt_flowshape{id, op, pipes[], trace}for clients, without saying whatidmeans or warning that it is not an identifier.(project_id, source, startTime), and it is worth a doc callout.