aboutsummaryrefslogtreecommitdiff
path: root/docs/ticket-save-model-spec.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-25 19:35:07 -0500
committerCraig Jennings <c@cjennings.net>2026-05-25 19:35:07 -0500
commit2568f25d069ecf242d5288db8f3bda968d6f8868 (patch)
tree1ff0880222c3825c8badba07d7ecda49542ae7b4 /docs/ticket-save-model-spec.org
parent35d9f8f7e27b4e6a7d99c7f0da9d29dfd6f2acc2 (diff)
downloadpearl-2568f25d069ecf242d5288db8f3bda968d6f8868.tar.gz
pearl-2568f25d069ecf242d5288db8f3bda968d6f8868.zip
docs: add the ticket save-model v2 spec
The v2 spec folds the structured fields — priority, state, assignee, labels — onto the save engine and removes immediate push, so the package has one write path instead of two. It extends the shipped v1 save-model spec and supersedes the "field setters stay immediate" half of v1 decision 8. I incorporated two Codex review rounds. I also added the supersession pointer to the top of the v1 spec so the v1/v2 relationship is legible from either file.
Diffstat (limited to 'docs/ticket-save-model-spec.org')
-rw-r--r--docs/ticket-save-model-spec.org2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/ticket-save-model-spec.org b/docs/ticket-save-model-spec.org
index 40066ce..dd99add 100644
--- a/docs/ticket-save-model-spec.org
+++ b/docs/ticket-save-model-spec.org
@@ -5,6 +5,8 @@
* Status
+*SHIPPED. Superseded in part by [[file:ticket-save-model-v2-spec.org][ticket-save-model-v2-spec.org]] — v2 folds the structured fields (priority, state, assignee, labels) onto this save engine and removes immediate push, reversing the "field setters stay immediate" half of decision 8. The compose-buffers-stay-direct half of decision 8 still stands (v2 doesn't touch the compose buffers). The engine, dirty-scan, outcome contract, and keybinding scheme described here are live; read v2 for the structured-field write path.*
+
*Review incorporated through round 2 (Codex, 2026-05-24). Implementation-ready pending Craig's final go.* Round 1's six blocking findings and round 2's comment-ownership blocker are dispositioned and folded into the body; modified recommendations are recorded under "Review dispositions". Open questions are resolved into "Agreed decisions"; none remain blocking.
Covers two coupled changes: a unified "save the ticket" model that replaces the per-field sync commands as the primary editing path, and an opt-in keybinding scheme organized around it. Companion to [[file:issue-representation-spec.org][issue-representation-spec.org]] (the field provenance hashes this builds on), [[file:issue-conflict-handling-spec.org][issue-conflict-handling-spec.org]] (the conflict gate each field runs through), and [[file:multi-account-spec.org][multi-account-spec.org]] (the viewer identity the comment save depends on is per-account).