Skip to content

fix(kernel): preserve retryable approvals - #7524

Merged
houko merged 3 commits into
mainfrom
fix/kernel-approval-self-handle-preflight
Aug 15, 2026
Merged

houko merged 3 commits into
mainfrom
fix/kernel-approval-self-handle-preflight

Conversation

@houko

@houko houko commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Changes

  • Acquire the kernel self-handle only for approvals that carry deferred tool execution.
  • Run that preflight while the pending entry is locked and before removal, so failure leaves the decision retryable under concurrent resolution.
  • Return the acquired handle with the deferred payload and use it for background resolution.
  • Preserve normal resolution for manual and blocking approvals that do not need deferred resume state.
  • Add regressions for both deferred and manual approvals, plus a changelog fragment.

Verification

  • cargo test -p librefang-kernel --lib missing_self_handle (2 passed)
  • cargo test -p librefang-kernel --lib approval::tests:: (100 passed)
  • cargo clippy -p librefang-kernel --lib -- -D warnings
  • cargo fmt --all -- --check
  • git diff --check
  • python3 scripts/check-changelog-attribution.py
  • python3 scripts/check-changelog-attribution.py --all-unreleased

Out of scope

  • The existing string-based ApprovalManager::resolve error API remains unchanged.

@github-actions github-actions Bot added area/kernel Core kernel (scheduling, RBAC, workflows) size/M 50-249 lines changed labels Aug 15, 2026
@houko
houko enabled auto-merge (squash) August 15, 2026 17:15
@houko
houko merged commit ddb7327 into main Aug 15, 2026
38 checks passed
@houko
houko deleted the fix/kernel-approval-self-handle-preflight branch August 15, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/kernel Core kernel (scheduling, RBAC, workflows) size/M 50-249 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant