Skip to content

[ARCHIVED] Benchmark issue 335 #335

Description

@guyoron1

What happened

On PR #2360, human ifireball triggered /fs-fix at 10:43 UTC on July 7 with the instruction 'resolve merge conflicts, address review findings, and make codecov happy please.' The branch had diverged from main over 21 days. The first fix agent run (run 28860224631, 22 minutes) addressed review findings and added tests (commit 79fc18a, 9 files, ~3.5k additions) but did not resolve merge conflicts. The human triggered a second /fs-fix at 11:06 UTC with 'resolve merge conflicts, and make codecov happy please' (dropping the already-completed review findings task). The second fix agent run (run 28861516702, 26 minutes) properly merged main (commit ee77525, 300 files, ~69k additions) and added more tests. Total fix cost: ~48 minutes of agent time, two human interactions, and ~25 minutes of human wait time.

What could go better

The fix agent attempted review finding fixes and test additions before resolving the underlying merge conflict with main. This is risky because code changes may need to be different depending on what's in main. In this case, the first fix's changes to internal/forge/fake.go overlapped with changes on main (new FakeClient fields like ForkOwner, ExistingForks, etc.), which is why the second fix required a massive merge commit. If the fix agent had merged main first, it would have known the current state of the codebase and could have addressed all tasks in a single commit. Confidence is medium — while the ordering argument is logically sound, I have limited evidence about whether the fix agent intentionally skipped the merge or failed to complete it. This extends #2728 (verify explicit success criteria) with a specific ordering constraint: merge conflicts should be a prerequisite, not just another success criterion to verify at the end.

Proposed change

Add task-ordering guidance to the fix agent's instructions (agent definition or system prompt) for compound /fs-fix requests that include merge conflict resolution:

When a /fs-fix instruction includes merge conflict resolution (mentions 'merge conflicts', 'rebase', or the branch is behind the base branch), resolve the merge first before making any other code changes. Steps: (1) Fetch and merge the base branch into the feature branch. (2) Resolve any conflicts, preserving the PR's intended changes. (3) Verify the merge is clean (no conflict markers, code compiles). (4) Only then proceed to address review findings, coverage gaps, or other code changes. This ordering ensures code changes are based on the current state of the codebase.

The most likely implementation location is the fix agent definition in the .fullsend dispatch repo, or as an addition to the fix agent's harness config.

Validation criteria

Over the next 5 fix agent runs where the /fs-fix instruction includes merge conflict resolution alongside other tasks, the fix agent should complete all requested tasks in a single iteration by resolving merge conflicts first.


Generated by retro agent from fullsend-ai#2360

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions