Skip to content

body.id is a pipe slot the engine reuses, not an identifier: rename it or document it at the point of use #2103

Description

@joshuadarron

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.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentationmodule:aiAI/ML modulespriority:lowMinor inconvenience, cosmetic, cleanup, nice-to-have

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions