Skip to content

fix: harden A2A recovery e2e flows#158

Merged
guima-why merged 1 commit into
mainfrom
codex/fix-step1-handle-off
Jul 10, 2026
Merged

fix: harden A2A recovery e2e flows#158
guima-why merged 1 commit into
mainfrom
codex/fix-step1-handle-off

Conversation

@guima-why

Copy link
Copy Markdown
Collaborator

Summary

  • Harden A2A pipeline recovery around waiting input, interrupts, rollback, cancellation, and backup-committed snapshot repair.
  • Forward rollback reasons back into the target step so Step1 can re-enter the agent loop with the actual changed requirement instead of only seeing a control prompt.
  • Expand recovery e2e coverage, including image, rollback, cleanup, deterministic fault injection, and final-target evidence checks.
  • Internationalize the new user-visible rollback feedback prefix and update the configured locale catalogs.

Root Cause

Rollback recovery could restart the target step with only a generic continue/control message. In the rollback-step2 flow, Step1 no longer saw the changed user requirement and could complete with the wrong intent. Separately, terminal publication and cancellation races could leave A2A recovery state stale around active interrupts and backup-committed events.

Validation

  • make translate
  • uv run pytest tests/pipeline/engine/test_pipeline_runner_interrupt.py::TestRollbackContextPropagation tests/pipeline/engine/test_pipeline_runner.py::test_step_rollback_forwards_reason_to_target_step -q → 18 passed
  • uv run ruff check src/iac_code/pipeline/engine/pipeline_runner.py tests/pipeline/engine/test_pipeline_runner_interrupt.py
  • make test → 8620 passed, 1 skipped, 271 warnings
  • make lint → ruff passed, ty passed
  • Real A2A recovery matrix: 26/26 PASS at /var/folders/mj/nr6v3rsj3qs6sb6g27lf9zr80000gn/T/iac-code-a2a-e2e-runs/post-fix-full-matrix-20260710T001540Z
  • Deterministic fault-after-snapshot: PASS at /var/folders/mj/nr6v3rsj3qs6sb6g27lf9zr80000gn/T/iac-code-a2a-e2e-runs/post-fix-fault-after-snapshot-20260710T022226Z

@guima-why guima-why marked this pull request as ready for review July 10, 2026 03:11
@guima-why guima-why merged commit 8ecc4c2 into main Jul 10, 2026
13 checks passed
@guima-why guima-why deleted the codex/fix-step1-handle-off branch July 10, 2026 03:11
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.

1 participant