diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-06 18:27:47 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-06 18:27:47 -0500 |
| commit | 7bd9f49ed7cb8482226d70ffaaa3d83fde194710 (patch) | |
| tree | d3db8680e0e0091382fd0759ca5877c07c5fc45d /scripts/README.org | |
| parent | 4250bbb39ab1f01a09567ea8f202c2109a2dad30 (diff) | |
| download | pearl-7bd9f49ed7cb8482226d70ffaaa3d83fde194710.tar.gz pearl-7bd9f49ed7cb8482226d70ffaaa3d83fde194710.zip | |
fix(scripts): make Triage the intake column and the default new-issue state
Two problems showed up dogfooding the seeded board. New issues landed in Backlog, because Linear's teamCreate sets the team's default new-issue state to its own Backlog default and the seed never changed it. And the intake column read "Triage Queue" when "Triage" is the name we want.
The script now points the team's defaultIssueStateId at the intake column after the columns reconcile, so a fresh issue opens in Triage instead of Backlog. It skips the update when the default is already correct, so a re-run stays a no-op. The intake column is renamed Triage throughout: the target state, the Pearl Inbox view filter, and INTAKE_STATE. find_team reads defaultIssueState so the idempotence check has something to compare.
Both mutations were schema-introspected first: TeamUpdateInput.defaultIssueStateId and CustomViewUpdateInput.filterData. The live board was fixed the same way (rename, default-state, Inbox filter) and the dry-run against it comes back all-update, no-create. 13 tests cover the rename, the default-state set on a fresh seed, and the skip when it's already Triage.
Diffstat (limited to 'scripts/README.org')
| -rw-r--r-- | scripts/README.org | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/README.org b/scripts/README.org index 5ee298e..e6bacd2 100644 --- a/scripts/README.org +++ b/scripts/README.org @@ -16,7 +16,7 @@ use it. When you add a script, add a heading here too. Brings a Linear workspace up to Pearl's dogfooding conventions in one run: -- a "Pearl" team whose columns are the six Agile states (Icebox, Triage Queue, +- a "Pearl" team whose columns are the six Agile states (Icebox, Triage, Backlog, In Progress, Done, Canceled), - a "Pearl" project inside that team, - three Custom Views: Pearl Open Issues, Pearl Icebox, Pearl Inbox. @@ -57,7 +57,7 @@ the repo. A convenient way to pass it: default columns, and Linear dedups state names case-insensitively, so a naive "create all six" run collides with the defaults. The script instead renames the defaults into the six Agile columns (keeping Backlog, In Progress, Done, - Canceled, and repurposing the unstarted Todo as Triage Queue) and creates + Canceled, and repurposing the unstarted Todo as Triage) and creates only the genuinely-new Icebox. - *It never archives.* A Linear team must keep at least one unstarted state, and @@ -73,11 +73,15 @@ the repo. A convenient way to pass it: no grouping field, so Pearl Open Issues is created with its filter only. Group it by category in pearl with =pearl-set-grouping=, or in the Linear UI. -- *Triage Queue is the unstarted type* (it took over the default Todo). pearl's - grouped view orders sections by state type and then position, so Triage Queue +- *Triage is the unstarted type* (it took over the default Todo). pearl's + grouped view orders sections by state type and then position, so Triage lists after the backlog columns in pearl even though the Linear board keeps your column order. +- *New issues default to Triage, not Backlog.* The script points the team's + default new-issue state at Triage (the intake column) after the columns + reconcile, so a fresh issue lands there. + * coverage-summary.el ** Purpose |
