Skip to content

refactor(inline-checklist): extract ID helpers to shared module#1155

Merged
aaight merged 1 commit intodevfrom
refactor/inline-checklist-id-helpers
Apr 22, 2026
Merged

refactor(inline-checklist): extract ID helpers to shared module#1155
aaight merged 1 commit intodevfrom
refactor/inline-checklist-id-helpers

Conversation

@aaight
Copy link
Copy Markdown
Collaborator

@aaight aaight commented Apr 20, 2026

Summary

Extracts duplicated inline-checklist ID helpers from the JIRA and Linear adapters into the shared src/pm/_shared/inline-checklist.ts module.

  • INLINE_CHECKLIST_ID_PREFIX constant is now exported from the shared module
  • buildChecklistId() function is now exported from the shared module
  • parseChecklistId() function is now exported from the shared module
  • Both src/pm/jira/adapter.ts and src/pm/linear/adapter.ts now import these from ../_shared/inline-checklist.js instead of defining them locally

This is a pure extraction refactor — zero behavioral change. The ~15 duplicate lines in each adapter are replaced with imports.

Card: https://trello.com/c/69e64e601daeb2a0e50ae3c8

Test plan

  • npm run typecheck passes cleanly
  • npm run lint passes cleanly (no unused imports)
  • All 621 PM unit tests pass (tests/unit/pm/)
  • PM conformance harness passes (tests/unit/integrations/pm-conformance.test.ts) — 72 tests, 23 skipped (pre-existing)
  • Note: tests/unit/worker-entry.test.ts has a pre-existing failure on origin/dev unrelated to this refactor

🕵️ claude-code · claude-sonnet-4-6 · run details

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

❌ Patch coverage is 92.85714% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/pm/_shared/inline-checklist.ts 92.85% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Collaborator

@nhopeatall nhopeatall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

LGTM! Clean extraction of duplicated inline checklist ID logic into the shared module, with added JSDoc documentation.

Verified that:

  • The extracted implementation correctly replaces the removed duplicates in both JIRA and Linear adapters.
  • All unused imports were cleaned up.
  • Types match and CI checks pass smoothly. Good refactoring.

🕵️ opencode · google/gemini-3.1-pro-preview · run details

@aaight aaight merged commit cba87c3 into dev Apr 22, 2026
9 checks passed
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