Skip to content

heal: keep a heal when its line passes and the test then fails at a later locator - #26

Open
philmcneely wants to merge 2 commits into
feat/heal-phases-3-4from
feat/keep-heal-later-failure
Open

philmcneely wants to merge 2 commits into
feat/heal-phases-3-4from
feat/keep-heal-later-failure

Conversation

@philmcneely

Copy link
Copy Markdown
Owner

Stacked on #25.

When a heal's own line passes on re-run but the test fails on a later line, the client reports failed_later with the redacted error, file, line and the re-run's stack (frames under the source roots, as in the request). The edit stays on disk until the service answers and is kept only on healed.

  • verify_run returns (passed, failure); verify_passed wraps it.
  • A failure on a line the patch wrote, or one with no frame under the roots, is reported as failed as before.
  • A heal kept with reason later_locator is followed by up to 3 more heals of the same test (LATER_ROUNDS). A chain that ends unhealed marks the last kept heal still_failing; the PR body lists those for review and heal-summary.json counts them.
  • A chained round that raises is recorded (chain_error) and the summary is still written. SIGTERM while an edit waits for the answer reverts it, as Ctrl-C already did.

Needs the service change (heal-service failed_later). Unit: 765 passed; ruff clean.

…ater locator

The re-run now returns its failure. When it stopped somewhere other than a line the
patch wrote, the client reports failed_later with the redacted error and place, keeps
the edit until the service answers and reverts unless it confirms. A heal kept for a
later locator is followed by up to 3 more heals of the same test; a chain that ends
unhealed marks the last kept heal still_failing and the PR body lists it for review.
Copilot AI balanced review requested due to automatic review settings November 10, 2026 06:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants