aboutsummaryrefslogtreecommitdiff
path: root/docs/saved-query-sync-spec.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-28 09:43:11 -0500
committerCraig Jennings <c@cjennings.net>2026-05-28 09:43:11 -0500
commit2d9c27caa08b231983543c0a4be691d7926980d8 (patch)
tree639eacb2e2517cc76853237048fec2b241f1e07e /docs/saved-query-sync-spec.org
parent0975e7de0c7bfdc6f65bb64537d4eff1aeb09a7e (diff)
downloadpearl-2d9c27caa08b231983543c0a4be691d7926980d8.tar.gz
pearl-2d9c27caa08b231983543c0a4be691d7926980d8.zip
docs(view-sync): README sync-up section + spec status to Done
This is Phase 6 of docs/saved-query-sync-spec.org, the docs commit that lands the saved-query → Linear view sync work. I added a new "Publishing a saved query as a Linear view" subsection under Commands → Sources. It walks through the two publish commands (sync-saved-query-to-linear and publish-current-source) with their full bindings, the scope-and-visibility prompt the user sees on first sync, the Replace/Rename/Cancel collision flow, the four :linear-view-* metadata keys + :linear-view-url that get persisted, the one-way push semantics, the v1 caveat that :sort and :order don't sync up, and the two-stage delete-saved-query prompt for synced entries. I updated the existing Sources example block to include the new [saved → <scope>] picker labels (team-scoped, Personal, and the stale-team `?` case), with a paragraph explaining how the dispatch routes those through customView(id:) on Linear rather than re-running the local filter. I extended the prefix-keymap quick-reference table with f S (sync), f P (publish), and k q (delete saved query) because they were bound in pearl-mode but missing from the table. The Fetching and refreshing command table gained rows for sync-saved-query, publish-current-source, and delete-saved-query. I flipped docs/saved-query-sync-spec.org Status from Ready to Done with the four implementation-phase commit hashes (60a026b, c8b9ad1, fd94237, 0975e7d). No code changes. 660 ert tests still green. make compile and make lint clean.
Diffstat (limited to 'docs/saved-query-sync-spec.org')
-rw-r--r--docs/saved-query-sync-spec.org2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/saved-query-sync-spec.org b/docs/saved-query-sync-spec.org
index 887447c..a17239e 100644
--- a/docs/saved-query-sync-spec.org
+++ b/docs/saved-query-sync-spec.org
@@ -4,7 +4,7 @@
* Status
-*Ready.* Sprint review with Craig completed 2026-05-28; all six open questions dispositioned (Q1, Q2, Q3, Q4, Q5, Q6, plus probe-surfaced Q7 absorbed by the Q2 collapse). Triggered by the conversation on 2026-05-28 after =pearl-delete-saved-query= shipped ("we'll need functionality that allows us to delete these, and also syncs non-local versions back to Linear"). Sibling spec to =docs/issue-sources-spec.org=, which established favorites + the unified picker but kept local saved queries as a local-only Customize variable.
+*Done.* Shipped 2026-05-28 across commits 60a026b (Phase 2: pearl-sync-saved-query-to-linear + transient entry), c8b9ad1 (Phase 3: extend pearl-delete-saved-query with delete-on-Linear prompt), fd94237 (Phase 4: pearl-pick-source distinguishes [saved] / [saved → scope] / [view] + :linear-view-url plumbing), and 0975e7d (Phase 5: pearl-publish-current-source convenience wrapper). README sync-up section and this status flip in the Phase 6 docs commit. Sprint review with Craig completed 2026-05-28; all six open questions dispositioned (Q1, Q2, Q3, Q4, Q5, Q6, plus probe-surfaced Q7 absorbed by the Q2 collapse). Triggered by the conversation on 2026-05-28 after =pearl-delete-saved-query= shipped ("we'll need functionality that allows us to delete these, and also syncs non-local versions back to Linear"). Sibling spec to =docs/issue-sources-spec.org=, which established favorites + the unified picker but kept local saved queries as a local-only Customize variable.
Live-API probe completed 2026-05-28 (see § Review dispositions). Mutations confirmed: =customViewCreate=, =customViewUpdate=, =customViewDelete= (no archive). =CustomViewCreateInput.filterData= is type =IssueFilter= -- the same type pearl's existing compiler produces, so the mapping is a pass-through. Implementation phase 1 trivializes accordingly.