Skip to main content

Module memory

Module memory 

Source
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§

ResolutionMemory
Previously seen conflict resolutions, keyed by the conflict triple.