You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: require a closing magic word for the Linear link
A bare `V2-123` in a PR description does not link the PR to the issue —
Linear ignores it — so a PR could pass the `linear-link` check while never
appearing on the issue and never driving it to Merged when it lands on
`main`. ant-node #216 is the concrete case: it carried `V2-1033` under the
Linear heading, had no identifier in its branch name, and had to be
attached to the issue by hand.
The `linear-link` check now requires one of Linear's closing magic words
followed by the issue key in the PR body. The accepted set is taken
verbatim from https://linear.app/docs/github — close / fix / resolve /
complete / implement in every tense (`-s`, `-d`, `-ing`) plus the phrase
`linear issue`, case-insensitive, with either the key or a linear.app
issue URL. Linear's linking-only families (`ref`, `part of`, `towards`,
`relates to`) attach a PR without driving the Merged transition, so they
are deliberately not accepted. An identifier in the branch name or the PR
title remains an accepted alternative, since both also link the PR.
The magic word and the key must sit on the same line, so a paragraph that
merely ends in "...closes." cannot pair up with a bare key further down
the body, and the template's own `## Linear issue` heading cannot pair up
with a bare key on the line beneath it.
`pr-template` applies the same rule to the `## Linear issue` section, and
the template comment and CLAUDE.md now ask for the closing form and say
why the bare and linking-only forms do not work. The self-test matrix
grows from 17 to 52 cases: one per documented closing word, the URL form,
case-insensitivity, the linking-only rejections, word-boundary cases, and
the bare-reference rejections.
Closes V2-1161
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WN8hjL7E8qcCxJBgT9vFt6
0 commit comments