Problem
linear issues list --output json exposes only createdAt / updatedAt. There is no completedAt field in the output (any format) and no --completed-after / --completed-before filter.
Any consumer that needs "issues closed in a time window" (e.g. a daily/weekly engineering digest) has to approximate with a proxy: Done issues whose updatedAt falls in the window. That overcounts — a Done issue touched after completion (label edit, comment, backlink) is counted as "closed today" again.
Verified at HEAD (e814332): rg CompletedAt internal/format/issue.go is empty, and rg "completed-after" internal/ has no hits. The Linear GraphQL API exposes completedAt on Issue, so this is plumbing, not an API limitation.
Proposal
- Include
completedAt (and ideally startedAt, canceledAt) in the JSON output of issues list — compact and full formats.
- Add
--completed-after / --completed-before ISO-8601 filters, mirroring the existing --created-after / --created-before.
Related nit: in compact JSON, labels is also absent (only --format full carries it), which forces a much heavier fetch just to bucket issues by label.
Context
Hit while building a daily dev digest: the report has to carry a permanent "closed = Done issues updated in window (updatedAt proxy)" caveat until this lands.
Problem
linear issues list --output jsonexposes onlycreatedAt/updatedAt. There is nocompletedAtfield in the output (any format) and no--completed-after/--completed-beforefilter.Any consumer that needs "issues closed in a time window" (e.g. a daily/weekly engineering digest) has to approximate with a proxy: Done issues whose
updatedAtfalls in the window. That overcounts — a Done issue touched after completion (label edit, comment, backlink) is counted as "closed today" again.Verified at HEAD (e814332):
rg CompletedAt internal/format/issue.gois empty, andrg "completed-after" internal/has no hits. The Linear GraphQL API exposescompletedAton Issue, so this is plumbing, not an API limitation.Proposal
completedAt(and ideallystartedAt,canceledAt) in the JSON output ofissues list— compact and full formats.--completed-after/--completed-beforeISO-8601 filters, mirroring the existing--created-after/--created-before.Related nit: in compact JSON,
labelsis also absent (only--format fullcarries it), which forces a much heavier fetch just to bucket issues by label.Context
Hit while building a daily dev digest: the report has to carry a permanent "closed = Done issues updated in window (updatedAt proxy)" caveat until this lands.