Skip to content

Go diagnostics errors are submitted back to the LLM before the linter cleans up unused imports, add delayΒ #5859

@mmhobi7

Description

@mmhobi7

What specific problem does this solve?

Often times, when working in golang, Roo will make a code change that will either add or eliminate the need for an import. When clicking on save, the go linter will automatically fix this, but Roo will first send the linting issues to the chat. The chat will then attempt to fix this issue and then upon failing to apply the patch, reread the file and see that the problem has already been fixed.

In Rust, the linter can sometimes take multiple seconds to resolve new imports. This causes a similar sidequest.

Some LLMs like gpt 4.1 get confused by this little game and forget what they were doing. Not to mention this wastes time and tokens.

Also worth noting that currently, the delay on new requests does not apply to this diagnostics check. I think it's saving the errors before sending them to the LLM.

Additional context (optional)

No response

Roo Code Task Links (Optional)

Will later

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear impact and context

Interested in implementing this?

  • Yes, I'd like to help implement this feature

Implementation requirements

  • I understand this needs approval before implementation begins

How should this be solved? (REQUIRED if contributing, optional otherwise)

I propose a variable delay setting, the linter go and python linters finalize in under a second. This doesn't solve Rust but that feels out of scope.Being able to turn off Diagnostic errors would be nice too.

Also, moving the request limiter to before the diagnostic check or similar.

How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)

Unused go imports will not be reported to the LLM

Technical considerations (REQUIRED if contributing, optional otherwise)

No response

Trade-offs and risks (REQUIRED if contributing, optional otherwise)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or requestIssue - In ProgressSomeone is actively working on this. Should link to a PR soon.proposal

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions