Commit Graph

4 Commits

Author SHA1 Message Date
Lauren ten Hoor
09f6903ebb feat: include PR/MR URL in DEV completion notifications
Adds automatic PR/MR URL detection and inclusion in DEV completion
announcements to provide better visibility into completed work.

Changes:
1. TaskManager interface:
   - Added getMergedMRUrl() method to fetch PR/MR URL for an issue

2. GitHub/GitLab providers:
   - Implemented getMergedMRUrl() to find most recent merged PR/MR
   - Returns URL of PR/MR that references the issue number

3. task_complete tool:
   - Added optional prUrl parameter
   - Auto-detects PR/MR URL if not provided
   - Includes PR URL in announcement with 🔗 prefix
   - Format: 'PR: https://github.com/...'

4. Role templates (dev.md):
   - Updated to instruct workers to include prUrl in task_complete
   - Documents that prUrl is optional (auto-detected as fallback)

Example announcement:
 DEV done #101 — Added PR/MR URL to notifications
🔗 PR: https://github.com/user/repo/pull/102
. Moved to QA queue.

Addresses issue #101
2026-02-10 18:22:44 +08:00
Lauren ten Hoor
c973c04635 fix: ensure clean label transitions by removing all state labels
Problem:
GitHub was showing confusing label transitions like:
- 'added To Do Doing and removed To Do'
- 'added To Test Testing Done and removed Doing To Test Testing'

This occurred when issues had multiple state labels simultaneously
(due to bugs, manual edits, or failed transitions).

Root Cause:
The old transitionLabel() only removed the 'from' label and added
the 'to' label. If other state labels existed on the issue, they
would remain, causing messy multi-label states.

Solution:
1. Fetch the current issue to inspect all labels
2. Find ALL state labels on the issue (not just 'from')
3. Remove ALL state labels in a single operation
4. Add only the new 'to' label

This ensures atomic, clean transitions that display on GitHub as
a single 'removed X, added Y' operation, even if the issue
previously had multiple state labels.

Changes:
- GitHubProvider.transitionLabel(): Remove all state labels before adding new one
- GitLabProvider.transitionLabel(): Same fix for GitLab consistency

Addresses issue #97
2026-02-10 17:59:57 +08:00
Lauren ten Hoor
a9e5b9ef3e feat: add task_update and task_comment tools (#33)
Closes #26

This PR adds two new DevClaw tools for better task lifecycle management:

- task_update: Change issue state programmatically without full pickup/complete flow
- task_comment: Add review comments or notes to issues with optional role attribution
2026-02-10 09:20:27 +08:00
Lauren ten Hoor
4e10b171c1 refactor: migrate issue provider logic to task manager interface and implement GitHub/GitLab providers 2026-02-09 22:38:43 +08:00