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
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:Implementation
Modify
src/loop/executor.tsAdd optional Linear status hooks to the executor:
Modify
src/commands/run.tsWhen
--from linearis used, pass the Linear integration and issue ID to the executor.Dependencies
WritableIntegrationfrom PR feat: unified task management across GitHub & Linear #196Acceptance criteria
--no-sync