Skip to content

fix: Linear/Slack label-triggered tasks resolve to default/agent-v1 and never open a PR #604

Description

@isadeks

Summary

The Linear and Slack sibling of #546 (fixed for Jira by #547). A repo-bound task submitted via the Linear webhook or Slack @Shoof submit carries a repo but no explicit workflow_ref, so it falls through the resolution ladder to the repo-less default/agent-v1 — the freeform agent path with no git/PR discipline. Result: the agent improvises against an empty local clone, ensure_pr finds no commits, and the task records pr_url=null (no PR-link comment back to the issue/channel; screenshot→issue routing loses its branch signal; #247 child-branch stacking breaks).

Root cause is the same as #546: #296 introduced the resolveWorkflowRef ladder but left the repo-aware rung unwired, so every channel task with no explicit ref defaulted to default/agent-v1. #547 fixed the Jira processor by pinning an explicit workflow_ref: 'coding/new-task-v1' at its createTaskCore call site; Linear and Slack were never given the same treatment.

Acceptance criteria

  • A Linear label-triggered task (repo-bound, no explicit workflow_ref) dispatches with workflow_ref: coding/new-task-v1 and opens a PR (pr_url set).
  • A Slack @Shoof submit task (repo-bound) does the same.
  • The pin lives at each channel's call site, uniform with the Jira processor (fix(jira): pin coding/new-task-v1 workflow_ref in webhook processor #547) — not as a resolver-level default (keeps one visible decision per channel; no contradiction with WORKFLOWS.md:346-348).
  • Channel processor tests assert each pins workflow_ref: coding/new-task-v1.
  • createTaskCore caller tests assert the unchanged fallback: omitted ref → default/agent-v1, with and without a repo.

Notes

Parent / prior art: #546 (approved) → #547 (merged, Jira). Implementation is up in #594 (reworked to the #547 pattern), pending this issue's approval + branch rename per ADR-003.

Metadata

Metadata

Assignees

No one assigned

    Labels

    approvedWhen an issue has been approved and readybugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions