resolve
Resolve diverged memory items by specifying the surviving revision and all other current heads; omitting any head fails the call rather than discarding data.
Instructions
Code lane: settles an item with more than one current head - what get reports as DIVERGED, from two machines revising the same fact apart. Read history first; never guess which head is real. Name the surviving revision hash in keep and every other current head in discard - leaving one out fails rather than silently discarding it. On a replica this queues instead of writing ('queued for the main machine' is not an error). The head set is rechecked under the write lock, so a head that appears mid-decision fails the call loudly instead of being dropped. Replies 'resolved onto ', or the refusal text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The diverged id. | |
| keep | Yes | The revision hash that survives. | |
| discard | Yes | Every other current head, in full. Leaving one out fails rather than silently discarding it. |