Skip to content

Files Changed Overview #4454

@playcations

Description

@playcations

What specific problem does this solve?

  • If I have the agent running and on auto, I like to look at the diff once it's done.
  • Currently I have to dig through chat or diff from last checkpoint to know what has changed.
  • I would like to just have a spot that shows up and tells me what is changed for easy access to all modified info
  • this would allow me to accept certain changes if other parts where changed incorrectly or know where to fix something small if the agent solved nearly everything except something tiny, preventing my vibe mind from asking the agent to find and fix it, wasting more tokens.

How should this be solved?

While an agent is running, have a ListBox pop up somewhere in the chat Panel that lists files and amount of lines changed per file. If I select a row, that file should open a diff for the selected file.

  • Before a file is changed, you should have a data structure that holds any file modified.
  • This should be accessible by both Agents and sub agents to prevent the structure holding incorrect info from a sub agent or missing information that a sub agent changed.
  • Have data structure holding the original checkpoint, all files changed, and the the latest checkpoint they were modified from (or however that info is currently held).
  • Accept will push the changes for all files.
  • Decline will revert the changes for all files.
  • In the images provided, below, you can see that on a line there is an arrow and a trash. The arrow is useless as it just opens the file, I propose a check and an X, signifying Accept or Reject for that file.
  • optional but could be time consuming to implement: Selecting the line to open the diff shows all changes already. You could have line by line accept and reject in there as well, pushing on a per block of code accept.

How will we know it works? (Acceptance Criteria)

  • Has the agent changed a file?
  • If so:
    • does the listbox show up with changed file and has correct lines changed?
    • if so:
      • are the + lines correct?
      • are the - lines correct?
      • Can you select that file in the list box?
      • When selecting that item, does a diff appear in the center panel?
      • When pressing Accept, does the box disappear and all changes are kept?
      • When pressing Decline, does the box disappear and all changes revert?
      • When pressing Check on a line, does the line disappear and changes for that file are pushed?
      • When pressing X on a line, does the line disappear and all changes for that file revert?

Estimated effort and complexity

Size: Small (2-3 days)

Reasoning:

  • You have most of the features already implemented.
  • The most difficult part will be opening the diff, comparing it to the last checkpoint since the user clicked iclicked accept last.

Main challenges:

  • Subtask agents and knowing which revision to start from.
  • showing correct lines changed for each file, plus lines changed total
  • Having the list box appear and disappear correctly.
  • Showing the correct diff when selecting from the listbox.
  • Clicking a different line opens a new diff, clicking back to the previous line goes back to the correct diff and doesn't open new tabs. Possibly mitigated by having only one diff open that switches between what is selected.
  • reverting and pushing changes per file.

Dependencies:

  • VC Diff. You seem to already be using this when showing files being modified.
  • your checkpoint system
  • The TS ui you are using to display info

Technical considerations (optional but helpful)

  • Checkpoint system may need some additional features to get this to work on a per file basis.
  • Not sure what diff you use but if it it seems to already be in a place where you can display a complete diff.

Trade-offs and risks (optional)

No response

Additional context (optional)

image
image

Proposal checklist

  • I've searched existing Issues and Discussions for duplicates
  • This is a specific, actionable proposal with clear problem and solution
  • I've included concrete acceptance criteria
  • I understand this needs approval before implementation begins

Interested in implementing this?

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

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions