Members carried by every public conflict regardless of lifecycle state — the always-true facts the registry promises about an entry in any of the four sub-statechart positions.

Pulled out so each variant of Conflict carries the same always-present fields without inviting drift between variants. Each variant intersects this with the per-state members the statechart proves are present.

interface ConflictBase<T> {
    id: string;
    raisedAt: number;
    target: string;
    value: T;
}

Type Parameters

  • T

    Application payload type carried by the conflict.

Properties

Properties

id: string

Stable identifier; matches the application's conflict identity.

raisedAt: number

GraphTime at which the conflict first appeared in the open set.

target: string

The node id this conflict relates to.

value: T

The conflict payload (the offending value, validation snapshot, etc.).