Skip to content

Follow-up to #285: report already-archived issues and add bulk archive - #287

Merged
schpetbot merged 1 commit into
mainfrom
oss-pr-lander/285
Sep 15, 2026
Merged

schpetbot merged 1 commit into
mainfrom
oss-pr-lander/285

Conversation

@schpetbot

Copy link
Copy Markdown
Collaborator

Follow-up to #285 (linear issue archive, by @martin-piliar). Blind-planned corrective delta; this branch currently contains the contributor's commit too, so the diff is a superset until #285 lands, after which it will be rebased to only the delta.

What the delta adds on top of the PR:

  • Already-archived detection. Linear's issueArchive answers success for an issue that is already archived, so the command silently "archived" it again. The details query now selects archivedAt and the command reports the issue is already archived without prompting or mutating, matching initiative archive.
  • Bulk support. --bulk, --bulk-file, and --bulk-stdin, mirroring issue delete. An already-archived issue counts as done; an unknown one is a per-item failure and the command exits non-zero. A positional id alongside --bulk is rejected rather than silently dropped.
  • Clean not-found handling. Linear returns a GraphQL error (not a null issue) for an unknown identifier; both single and bulk paths translate it into the usual "Issue not found" instead of surfacing the raw client error.
  • The mutation-failure message no longer repeats the handler prefix, the changelog credits the contribution, and the skill reference is regenerated.

Verified: two blind plans (Codex xhigh and an Opus planner) converged on these gaps; two Codex review passes on the delta (the first found the positional-drop and raw-error issues, both fixed; the second was clean); 735 tests in both color modes under TZ=UTC; a 12-case QA table run live on scratch issues.

https://claude.ai/code/session_01A9qEGri4p2HZMQSuYsBmub

Linear's issueArchive answers success for an issue that is already
archived, so the new command silently "archived" it a second time. The
details query now selects archivedAt and the command says the issue is
already archived and returns without prompting or mutating, matching
initiative archive.

issue archive also gains --bulk, --bulk-file, and --bulk-stdin, mirroring
issue delete: the use case behind #284 is cleaning up stale issues, which
is many-at-once work, and every other lifecycle command on issues and
initiatives already supports it. An already-archived issue counts as done
in bulk mode; an unknown one is a per-item failure and the command exits
non-zero.

The mutation-failure message no longer repeats the handler prefix
("Failed to archive issue: Failed to archive issue"), and the changelog
credits the contribution.

Claude-Session: https://claude.ai/code/session_01A9qEGri4p2HZMQSuYsBmub
@schpetbot
schpetbot marked this pull request as ready for review September 15, 2026 16:02
@schpetbot
schpetbot merged commit 150166c into main Sep 15, 2026
15 checks passed
@schpetbot
schpetbot deleted the oss-pr-lander/285 branch September 15, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants