The self-diagnosis-into-the-memory-file detail is the part I keep seeing break, because the agent grades its own fix on the same run that produced it, so a wrong "fixed" gets written as ground truth and compounds. I have had better luck gating any self-applied change behind an independent check on a separate turn before it is allowed to persist. When Marlow reported a bug fixed, were you verifying out-of-loop or trusting its own completeness signal?