Skip to content

FIX Preserve lifecycle on result persistence failures - #2473

Merged
Roman Lutz (romanlutz) merged 6 commits into
microsoft:mainfrom
romanlutz:romanlutz-daily-audit-2026-08-23
Aug 26, 2026
Merged

FIX Preserve lifecycle on result persistence failures#2473
Roman Lutz (romanlutz) merged 6 commits into
microsoft:mainfrom
romanlutz:romanlutz-daily-audit-2026-08-23

Conversation

@romanlutz

Copy link
Copy Markdown
Contributor

Description

Attack result persistence previously ran in a best-effort event handler. If the database write failed, the exception was ignored and the caller could receive a completed result even though no durable record existed for reporting or resume.

This change keeps generic lifecycle observers best-effort, enriches results during ON_POST_EXECUTE, and persists completed results only after teardown succeeds. Persistence failures now propagate without creating a misleading second ERROR result, while genuine execution or teardown failures continue to persist one accurate ERROR result and preserve the original exception.

N/A

Tests and Documentation

  • Added regression coverage for post-teardown persistence failures, partial commits, duplicate prevention, teardown failures, and observer failures.
  • Ran 61 focused strategy tests and 2,243 executor/scenario tests.
  • Ran the changed-file pre-commit hooks, including Ruff and scoped type checking.
  • Documentation changes were not applicable.

JupyText was not applicable because no documentation notebooks changed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3772242b-0ee1-4ecd-a028-a38c91c17926
Persist completed attack results after teardown without making generic event observers fatal or creating duplicate error results.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 75013b84-0c8d-4ea4-9c4c-6c58381ac1a1
@hannahwestra25 hannahwestra25 self-assigned this Aug 24, 2026
Comment thread pyrit/executor/attack/core/attack_strategy.py
Capture failures from the existing error-result write and report them alongside attack failures without retrying ambiguous database commits.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 75013b84-0c8d-4ea4-9c4c-6c58381ac1a1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 75013b84-0c8d-4ea4-9c4c-6c58381ac1a1
@romanlutz
Roman Lutz (romanlutz) added this pull request to the merge queue Aug 26, 2026
Merged via the queue into microsoft:main with commit bd910c5 Aug 26, 2026
54 checks passed
@romanlutz
Roman Lutz (romanlutz) deleted the romanlutz-daily-audit-2026-08-23 branch August 26, 2026 17:09
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