Skip to content

feat: loop executor updates Linear status during execution #201

@rubenmarcus

Description

@rubenmarcus

Summary

Modify the loop executor to update Linear issue status during autonomous execution, so the Linear board reflects real-time progress.

Behavior

When running with --from linear --issue ENG-42:

  • On loop start: Set Linear issue to "In Progress"
  • On loop complete (all validations pass): Set Linear issue to "Done" + add comment with PR URL
  • On loop fail (circuit breaker or max iterations): Add comment to Linear issue with failure details

Implementation

Modify src/loop/executor.ts

Add optional Linear status hooks to the executor:

// In executor options
linearSync?: {
  issueId: string;
  integration: WritableIntegration;
};

// On start
await integration.updateTask(issueId, { status: 'In Progress' });

// On complete
await integration.updateTask(issueId, { status: 'Done' });
await integration.addComment(issueId, `Loop completed. PR: ${prUrl}`);

// On fail
await integration.addComment(issueId, `Loop failed after ${iterations} iterations: ${error}`);

Modify src/commands/run.ts

When --from linear is used, pass the Linear integration and issue ID to the executor.

Dependencies

Acceptance criteria

  • Linear status updates to "In Progress" on loop start
  • Linear status updates to "Done" on loop complete
  • Linear comment added with PR URL on success
  • Linear comment added with error details on failure
  • No Linear calls when source is not Linear
  • Opt-out flag: --no-sync

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions