Paper: arXiv:2603.17826
This paper treats failed repair attempts as valuable memory. Instead of discarding them, the system records failed attempts and uses that history to improve later debugging and repair decisions.
Debugging systems usually preserve the final outcome and lose the failed path that led there.
That matters for this repo because failed attempts often contain the strongest signal about:
- what was already tried
- which strategies repeatedly do not work
- where an agent keeps looping or regressing
The debugger should be able to retain:
- attempted fixes
- resulting errors or regressions
- tests or checks that invalidated the attempt
- links between attempts in the same repair sequence
The product becomes stronger when it can recognize repeated failed strategies across runs and surface them before the next attempt starts.
This repo can start with text-first artifacts:
- code diffs
- tool outputs
- test failures
- error summaries
That is enough to capture useful repair memory before adding richer artifact types.
- add repair-attempt events with outcome metadata
- summarize prior failed attempts in session detail views
- cluster repeated repair failures across sessions
- rank sessions by repair-learning value
The repo should avoid preserving sensitive or low-value artifacts forever. Failure memory needs the same retention and redaction discipline as normal traces.
Add a lightweight repair-attempt history:
- record each attempted fix
- attach the validation result
- show previous failed attempts before the next replay or inspection step