Skip to content

Merge dev to main#478

Merged
zbigniewsobiecki merged 11 commits intomainfrom
dev
Feb 22, 2026
Merged

Merge dev to main#478
zbigniewsobiecki merged 11 commits intomainfrom
dev

Conversation

@zbigniewsobiecki
Copy link
Copy Markdown
Member

Summary

🤖 Generated with Claude Code

zbigniewsobiecki and others added 11 commits February 22, 2026 12:32
…Checklist (#472)

The planning agent writes detailed step descriptions (files to modify, specific
changes, testing strategy) in the card body, but this context was lost when
creating bare JIRA subtasks with only a summary. This threads an optional
description through the AddChecklist gadget → PMProvider.addChecklistItem() →
JIRA adapter, where it is converted to ADF and set on the subtask. Trello
checklist items don't support descriptions, so the Trello adapter ignores the
field. The schema change is backward-compatible: items accept string | {name,
description?}.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…teps

When the respond-to-planning-comment agent needs to remove descoped items
from a plan, it previously had no way to delete checklist items and resorted
to marking them as "Done" — which is semantically wrong. This adds a
DeleteChecklistItem gadget that actually removes items.

Changes wired through the full stack:
- JIRA client: deleteIssue(issueKey)
- Trello client: deleteChecklistItem(checklistId, checkItemId)
- PMProvider interface: deleteChecklistItem(workItemId, checkItemId)
- JIRA adapter: deletes the subtask issue
- Trello adapter: scans checklists to find the item, then deletes it
- Core function, gadget class, index export, agent registration
- Prompt updated for respond-to-planning-comment agent

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… prompt

The llmist backend path in executeAgent() was missing the preSeededCommentId
parameter when creating ProgressMonitor, causing the ack comment posted by the
router to be orphaned while ProgressMonitor created a new comment. The
claude-code backend path already passed this correctly.

Also strengthens the respond-to-planning-comment prompt with explicit
instructions for checklist management (add/rename/delete) so agents use
DeleteChecklistItem when narrowing scope instead of creating duplicate
checklists.

Additionally carries ackCommentId through the in-worker webhook queue so
queued webhooks don't lose their ack comment reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ed-id

fix: pass preSeededCommentId in llmist backend + strengthen checklist prompt
When `deleteIssue()` fails with 403 (missing "Delete Issues" permission),
fall back to transitioning the subtask to a terminal status (Cancelled,
Won't Do, Rejected, Closed, or Done — in priority order).

Also refactor webhook handlers in router/index.ts to extract helper
functions, resolving all 3 pre-existing cognitive complexity warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…lback

fix(jira): fall back to transition when subtask delete returns 403
remove dead code, improve type safety, and eliminate
duplication across the pm integration subsystem.

changes:
- remove unused getTriggerHandlers() from interface
- remove unused withCredentials() from registry
- change createProvider to accept ProjectConfig
  (removes unsafe PMProviderConfig casts)
- change TriggerResult.agentType to string | null
- delete factory.ts (inline into index.ts)
- delegate ack/reaction methods in trello and jira
  integrations to existing router functions
- consolidate resolveLifecycleConfig into registry
- replace redundant createPMProvider calls with
  getPMProvider() in webhook-handler
- migrate TriggerResult.cardId to workItemId

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…-cleanup

refactor(pm): clean up pm integration layer
…arsing

Replace Trello URL checks in trigger gates with implementer persona
authorship checks and DB-backed work item resolution. This fixes JIRA
projects where PRs were silently skipped because triggers only matched
Trello card URLs.

Key changes:
- Add pr_work_items table to store PR-to-work-item links at PR creation
- Gate check-suite-success/failure on implementer persona (not URL presence)
- Add resolveWorkItemId() utility: DB lookup with PR body extraction fallback
- All triggers now fire even without a linked work item (graceful degradation)
- Thread projectId/cardId through session state to CreatePR gadget for persistence
- Add user.login to PRDetails for persona matching

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ers-from-pr-body-parsing

refactor(triggers): decouple triggers from PR body work item parsing
@zbigniewsobiecki zbigniewsobiecki merged commit 75746ef into main Feb 22, 2026
10 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.

1 participant