aboutsummaryrefslogtreecommitdiff
path: root/docs/issue-sort-order-spec.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-25 20:20:00 -0500
committerCraig Jennings <c@cjennings.net>2026-05-25 20:20:00 -0500
commit09cf1f02161aaef9bb1ad26907472bea52f53a24 (patch)
tree9ad920b04eaa01d0e8bf0744fc4384a865956118 /docs/issue-sort-order-spec.org
parent8fa0febbc3a3afe78d1a5abbbb944adf6dd3612a (diff)
downloadpearl-09cf1f02161aaef9bb1ad26907472bea52f53a24.tar.gz
pearl-09cf1f02161aaef9bb1ad26907472bea52f53a24.zip
feat(save): add the atomic field-save engine and the assignee saver
pearl--run-atomic-field-save is the structured-field sibling of the text engine pearl--run-field-save. It runs the atomic three-way over a spec's live and baseline values. A missing baseline skips with missing-property (a legacy file — refresh first). Live equal to baseline is unchanged. Otherwise it fetches the remote and compares: remote already equal to live converges and advances the baseline, remote unmoved from baseline is a clean push, and a genuine divergence runs the atomic conflict gate. It reuses the existing save-outcome contract, so structured fields report the same status/reason shape as title and description. pearl--save-assignee-field is the first saver on it — the cleanest relation field. Its live id is LINEAR-ASSIGNEE-ID diffed against LINEAR-ASSIGNEE-ID-SYNCED, the remote comes from the issue node, the push sends assigneeId, and use-remote rewrites the display name from the fetched node. Priority, state, and labels follow the same template in the next commit. It's not wired into save-issue yet — that's the next commit. I tested it in isolation: the engine's three-way and conflict branches over a synthetic spec, plus the assignee saver end to end with a stubbed fetch and update.
Diffstat (limited to 'docs/issue-sort-order-spec.org')
0 files changed, 0 insertions, 0 deletions