Repository navigation
fix(work-items): run the create-item sibling check in the linear seed - #13058
Conversation
create-item --parent in the linear seed now reads the parent's children with their completedAt and canceledAt first, and returns a same-titled child that is open or closed within 24 hours instead of filing a duplicate, as the github and local-markdown adapters already do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015te8Cr8u7uFJG4tdeUACLz
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review (incremental, 8d4ad49 → 2e90319): no security issues foundI read every hunk of both files in the incremental scope. Neither file is on a trusted path. Neither touches a trust control, merge hold, kill switch, token request, plugin manifest or standing instruction.
PR context. It contains no embedded instructions aimed at the review lane. Prior findings. My earlier post (no line anchor, 0 findings) has no finding to carry forward. critical-findings: 0 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d4ad49596
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
claude-review reviewed Incremental code review:
|
|
The pr-verify verifier failed head What it wrote (26 lines)This pull request leaves the merge queue, and ci-status holds it out while it carries |
The sibling-dedupe children walk passed each page to jq through --argjson. A page of full child nodes can exceed the per-argument exec limit, the exec fails, and the accumulation exits. Feed the accumulator and the page to jq on stdin with --slurp instead. Add a create-item case whose same-titled child sits on the second children page: it asserts no issueCreate, the page-2 child is returned, and the second request carries the endCursor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015te8Cr8u7uFJG4tdeUACLz
Post-merge mutation testingKilled 6, survived 1, timeout 0, no coverage 0, invalid 0, not run 0.
Surviving mutants
The run's summary has the full report. |
Closes #12918
Siblings: #12974
Summary
Problem:
create-item --parentfiled every child it was asked for, so two publishes of one plan filed each child twice. Intent: a retried or repeated publish must not duplicate a child.PR #12974 added the sibling check to the GitHub and local-markdown adapters and left the Linear seed adapter, the issue's one remaining part. This PR adds it there, so every adapter that supports
--parentnow runs the check.Fix
seeds/linear/create-item.sh: with--parent, reads the parent'schildren(paged) before creating. A child with the same trimmed title that is open, or was completed or canceled within 24 hours, is printed as the result with a stderr notice, the script exits 0 and creates nothing. An open match wins over a closed one. A failed read exits before any create.Issue.completedAtandIssue.canceledAt, the fields Linear's published schema defines. A closed child with neither counts as closed earlier.CONTRACT.md"Verbs" now states how the Linear seed reads the close time, replacing the line saying it skipped the check. Patch changelog fragment for work-items.Verification
seeds/linear/create-item.test.sh: 74/74 pass, including new cases for an open sibling, siblings closed 1 hour and 2 days ago, a canceled-after-completed sibling, open-over-closed preference, a refused read, and creates without--parent. Run against origin/main'screate-item.sh, the blocking cases fail (13 failures).seeds/linear/list-sub-items.test.sh23/23,scripts/check-changelog-fragments.sh --checkvalid, shellcheck clean on both changed scripts.+00:00) fails closed, asadapters/github/create-item.shdoes, and the children paging has no item ceiling, aslist-sub-items.shhas none.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_015te8Cr8u7uFJG4tdeUACLz