diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-06 15:00:12 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-06 15:00:12 -0500 |
| commit | 0a3794ccfc56045a2e4155538c145021447d09e3 (patch) | |
| tree | 7f4cc85e738bab1471596331aec4cf9abfcba47d /scripts/tests/test_seed_pearl_workspace.py | |
| parent | 6a1d2e9085d6b247e72b4c98e776aa9fb128341f (diff) | |
| download | pearl-0a3794ccfc56045a2e4155538c145021447d09e3.tar.gz pearl-0a3794ccfc56045a2e4155538c145021447d09e3.zip | |
feat(views): grouping source helpers and the effective-grouping resolver
Phase 1 of the interactive-grouping spec: the source/resolver plumbing, no command yet. pearl--grouping-choices maps the display labels (status/project/assignee/priority/none) to Linear's issueGrouping values. pearl--grouping-display-to-value coerces and pearl--check-grouping validates, both refusing anything outside that set. Cycle is left out on purpose: it isn't in the issue drawer, so an offline regroup can't read it.
pearl--source-with-grouping records the choice under :client-group for every source type, leaving a view's own server :group intact. Choosing none removes the key, so the source falls back to the server :group or to flat. pearl--effective-grouping returns :client-group when set, else :group. That's the single read every grouping consumer routes through in phase 4, so a refresh reproduces the layout on screen.
16 tests: coercion, validation, the source helper, resolver precedence, and the :client-group header round-trip.
Diffstat (limited to 'scripts/tests/test_seed_pearl_workspace.py')
0 files changed, 0 insertions, 0 deletions
