Guard Forge retirement with an exact expected UUID set
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 33s

Blanket acknowledgement is unchanged when the UUID list is omitted. A present
expected_retirement_uuids set must equal the stale projections, and the call
retires nothing when that set mismatches, a stale row still has tasks or
dependency edges, or both authorizations are set together.

Assistant: grok
Assistant-Session: 01a10946-16b1-7973-b1dd-71fc58b8fcf0
This commit is contained in:
tegwick 2026-10-05 01:46:06 +02:00
parent 3fc5f72076
commit 968a8117f4
5 changed files with 448 additions and 5 deletions

View file

@ -131,6 +131,7 @@ async def reconcile_repository_work_records(
session,
slug,
acknowledge_retirements=body.acknowledge_retirements,
expected_retirement_uuids=body.expected_retirement_uuids,
derived=derived,
)
if outcome.status in {"applied", "noop"} or outcome.released: