diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-25 19:54:32 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-25 19:54:32 -0500 |
| commit | 8fa0febbc3a3afe78d1a5abbbb944adf6dd3612a (patch) | |
| tree | 892acf92c1e1fffcedfeab18cb980ba7e9698c91 /docs/multi-account-spec.org | |
| parent | 648893bd6ff5f4c403733d03258dbf3e91f2394b (diff) | |
| download | pearl-8fa0febbc3a3afe78d1a5abbbb944adf6dd3612a.tar.gz pearl-8fa0febbc3a3afe78d1a5abbbb944adf6dd3612a.zip | |
feat(save): add an atomic conflict gate for enum and relation fields
The text conflict gate (pearl--resolve-conflict) is built for mergeable text — it can open an smerge buffer, stash to the kill ring, and advance a SHA hash. None of that fits a state, priority, assignee, or label conflict, where the value is a single id or scalar that can't be combined.
pearl--resolve-atomic-conflict is the sibling for those fields: it prompts use-local / use-remote / cancel (no merge option), and delegates the actual push and the baseline advance to the caller's two callbacks, so it stays free of any field-specific mechanics. It maps to the same outcome contract as the text gate — cancel to conflict/cancelled, use-local to pushed or failed/push-failed, use-remote to resolved-remote.
It's not wired into a saver yet — the per-field savers in the next commit call it.
Diffstat (limited to 'docs/multi-account-spec.org')
0 files changed, 0 insertions, 0 deletions
