Expand description
Resolution memory keyed by the conflict triple (rerere-shaped; DECISIONS.md D15: metadata on existing shapes, never a new merge substrate).
A conflict’s identity already exists in the model: the
(base, left, right) manifest-address triple of a
TreeEntry::Conflict. The memory key is the hash of that entry’s
canonical serialization — the exact bytes invariant 3 freezes — so
keying adds no second identity scheme. Resolutions are found through
item A’s Commit::resolves links: a head-moving op whose commit
links a conflicted commit contributes one remembered resolution per
path that was conflicted there and is a plain file in the resolver.
A recalled resolution is a candidate, never a landing: the queue replays it into the train, where it runs the same CI verdict as any other member. It deliberately skips the strategy safety check — that check polices strategies (a resolution must stay inside what the change proposed), while a genuine conflict resolution edits beyond both sides by construction and was already committed as a value by its author. What the replay skips is only the re-derivation of a resolution the log already holds.
Structs§
- Resolution
Memory - Previously seen conflict resolutions, keyed by the conflict triple.