pub struct Change {
pub id: u64,
pub workspace: String,
pub base: String,
pub proposed: String,
pub depends: Vec<u64>,
}Expand description
A change submitted to the queue: a full-file edit carrying its own base.
The change’s base is the content it was authored against (its parent),
which is what the 3-way merge must use; merging against the queue’s
advanced tip as base would misread the proposal as reverting work merged
ahead of it. The single-file model is the Phase-0 abstraction; the real
tree diff arrives with the L1 integration.
Fields§
§id: u64Stable change identifier.
workspace: StringWorkspace (agent) that produced the change.
base: StringThe content this change was authored against (its parent state).
proposed: StringThe file content this change proposes.
depends: Vec<u64>Ids of queued changes this one declares it depends on.
Declared-only — the queue never infers dependencies
from overlap; inference is a separate decision. Empty (the
default for all existing traffic) keeps the legacy
halve-and-retest behavior on failure; see MergeQueue::drain.