Skip to content

feat: auto-assign issues and maintain a single tracker comment#26

Merged
maxigimenez merged 3 commits into
mainfrom
feat/issue-assignment-single-comment
May 24, 2026
Merged

feat: auto-assign issues and maintain a single tracker comment#26
maxigimenez merged 3 commits into
mainfrom
feat/issue-assignment-single-comment

Conversation

@maxigimenez
Copy link
Copy Markdown
Owner

@maxigimenez maxigimenez commented May 24, 2026

Summary

  • Auto-assign on pickup: GitHub issues are now assigned to @me (the authenticated user) when Parallax picks up a task. Linear was already assigning to the API key owner.
  • Single comment, updated in-place: Instead of posting a new comment at each phase (plan start, execution start, retry), Parallax now posts one comment per task and updates it throughout the lifecycle.
    • Initial pickup: "Parallax has picked up this task and is generating a plan."
    • Plan ready: updated with the full plan markdown and an awaiting-approval note.
    • Execution starts: updated to "Executing the approved plan…" with the plan included.
    • Error at any phase: updated with the error message.
    • Retry: updates the existing comment rather than posting a new one.

Implementation

  • Added trackerCommentId to the Task interface and tasks DB table.
  • GitHub service switched from gh issue comment to gh api POST (which returns the comment JSON with an id) and added a PATCH update path.
  • Linear service now captures comment { id } from commentCreate and added a commentUpdate mutation path.
  • markTaskInProgress returns the comment ID; callers store it in the DB so subsequent phases can update in-place via the new updateProviderComment helper.

Test plan

  • pnpm build passes cleanly
  • pnpm test — all 120 tests pass (including updated github-service test reflecting new CLI commands)
  • Trigger a GitHub issue → verify single comment appears, is updated with plan, updated when execution starts, no duplicates on retry
  • Verify issue is assigned to the authenticated GitHub user after pickup

🤖 Generated with Claude Code

Resolves: #16

maxigimenez and others added 2 commits May 24, 2026 17:11
…schema

Adds a trackerCommentId field to the Task interface and the tasks SQLite
table so the orchestrator can track the external issue comment ID per
task and update it in-place instead of posting new comments.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…comment

- GitHub: assign the issue to @me on pickup via `gh issue edit --add-assignee`
- Linear: already assigns to the API key viewer; no change needed
- Both services now post a comment once and return its ID; subsequent
  calls update the same comment instead of creating new ones
- Comment is updated with the plan markdown when the plan is ready,
  with an executing notice when task execution starts, and with the
  error message on any failure or retry
- Adds updateProviderComment helper in provider-services for targeted
  comment updates without re-triggering assignment logic

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
parallax Skipped Skipped May 24, 2026 4:13pm

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@maxigimenez maxigimenez merged commit 96b8fbd into main May 24, 2026
3 checks passed
@maxigimenez maxigimenez deleted the feat/issue-assignment-single-comment branch May 24, 2026 16:14
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.

Include the plan and message whenever we add a comment to the tickets

1 participant