{"version":"2.1.267","anchor":"remoteheadless-transcripts-now-tag-messages-as-remotesourc","canonical_anchor":"remoteheadless-transcripts-now-tag-messages-as-remotesourc","heading":"Transcript hydration now tracks message origin for artifact-state reconstruction","tier":"internal","area":"Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267\/e\/remoteheadless-transcripts-now-tag-messages-as-remotesourc","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267","markdown":"### Transcript hydration now tracks message origin for artifact-state reconstruction\n\nSession and transcript hydration now track whether messages came from a remote source, changing how artifact state gets rebuilt\n\n**What**\n\n- Transcript user\/assistant messages can now be tagged `remoteSourced: true`, and the function that rebuilds artifact state from history now tracks which tool calls came from a remote source and skips local-only reconciliation for those.\n\n- A new check decides whether to rebuild artifact state from local history at all, based on whether a message's origin is `\"local\"` and it is `seedEligible`.\n\n- The call that seeds\/reconciles initial transcript state now passes an `origin` (defaulting to `\"local\"`) and a `seedEligible` flag, threaded through a new `initialMessagesOrigin` prop on the session engine constructor.\n\n**Why** This distinguishes messages that came from a remote source (such as headless or remote sessions) from local ones, so artifact-state reconstruction only reconciles local history instead of double-processing remote-sourced tool calls.\n\n- Area: Sessions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}