From 2568f25d069ecf242d5288db8f3bda968d6f8868 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 25 May 2026 19:35:07 -0500 Subject: docs: add the ticket save-model v2 spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- docs/ticket-save-model-spec.org | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs/ticket-save-model-spec.org') 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). -- cgit v1.2.3