The routing factThis error is thrown by the client conversation assembler. It does not by itself prove corrupt persistence bytes, a provider failure, or a plugin fault.

One invariant, three enforcement paths.

LiveacceptMatch

A late start follows an existing update.

WindowapplyPendingMatches

Sorted replacement additions put update first.

ReplayreplayContext

State refuses to rebuild without start at index zero.

Preserve first. Continue elsewhere.

Export

Keep the untouched Session log and hash the evidence copy.

Isolate

Prove a fresh Session loads and reloads in the same workspace.

Continue

Carry only reviewed task context into the new Session.

Archive

Hide the affected Session without deleting its durable record.

Do not reorder durable events.

Sequence numbers, replacement references, indexes, and other projections still describe the original log. A text edit can turn one reader failure into actual corruption.

A fix must own all three paths.

The replacement producer can preserve Definition-safe order, or the assembler can normalize one unique start into logical-first position. Either design must keep update order, location indexes, dependencies, duplicate-start refusal, and live/window/replay convergence.

Primary evidence.

Keep the ordering evidence.

The complete runbook includes classification, safe export and continuation, a sanitized two-event reproduction, unsafe shortcuts, an incident bundle, and twelve regression gates.

Read the complete runbook