diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-01 18:00:58 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-01 18:00:58 -0500 |
| commit | 49e79a262638ca5fb673ac3f5d8e9cde0cb7905a (patch) | |
| tree | d46f3084a8bda7e9095bb5a7b01b8262d7e60c40 /docs/ticket-save-model-spec.org | |
| parent | ad1e0b8c33f909814b69458eb34cc792f032e844 (diff) | |
| download | pearl-49e79a262638ca5fb673ac3f5d8e9cde0cb7905a.tar.gz pearl-49e79a262638ca5fb673ac3f5d8e9cde0cb7905a.zip | |
feat(views): rework the picker for local/Linear labels, dedup, and local dispatch
I reworked pearl--pick-source-candidates for the three Phase 4 behaviors. Labels now read [local] for a private local view, [local -> Linear:SCOPE] for a published one, [linear] for a Linear view favorite, and [KIND] for a non-view favorite, so the label itself shows where a view lives.
Dispatch follows the source-of-truth rule (decision 16): every local view, tracked or not, dispatches as a :type filter and runs its local authoring filter, never the Linear mirror. A tracked entry carries its :linear-view-url so the rendered buffer can still open the mirror. Before this, a published local view ran server-side, which contradicted the editable-local model.
Cross-store dedup: a Linear view favorite whose customView id matches a tracked local view's :linear-view-id is dropped, so the editable local entry is the one shown. A local and a Linear view that merely share a name stay distinct.
Phase 4 of the views spec. Tests cover the labels, the local-filter dispatch, and the dedup and same-name cases. Suite, compile, and lint are green.
Diffstat (limited to 'docs/ticket-save-model-spec.org')
0 files changed, 0 insertions, 0 deletions
