Skip to content

fix(governance): make mutations and audit atomic - #787

Merged
XiaoSeS merged 1 commit into
mainfrom
fix/issue-615-audit-atomicity-20260831
Aug 31, 2026
Merged

fix(governance): make mutations and audit atomic#787
XiaoSeS merged 1 commit into
mainfrom
fix/issue-615-audit-atomicity-20260831

Conversation

@XiaoSeS

@XiaoSeS XiaoSeS commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

What

Closes #615.

Review and promotion mutation entry points now own the application transaction, so domain state, audit persistence, and response-critical projection succeed or roll back together. This completes the transaction-atomicity half left after #782 fixed audit JSON serialization.

Scope

  • Add transaction boundaries only to ReviewPortalAppService and PromotionPortalAppService write methods.
  • Keep query methods unchanged.
  • Reuse AuditLogService default REQUIRED propagation; no outbox or schema change.

Tests

  • Review approval rolls back task, version status, latest-version pointer, and search side effects when audit persistence fails.
  • Promotion approval rolls back request state and the target skill copy when audit persistence fails.
  • Existing success, permission, and history tests remain green.

Signed-off-by: XiaoSeS 87064762+XiaoSeS@users.noreply.github.com

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS merged commit bdb42b1 into main Aug 31, 2026
10 checks passed
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.

[Bug] Review audit failure can commit state but return 500

1 participant