c882cc2ff8
CI / push-validation (pull_request) Successful in 27s
CI / helm (pull_request) Successful in 40s
CI / build (pull_request) Successful in 57s
CI / lint (pull_request) Successful in 1m10s
CI / quality (pull_request) Successful in 1m20s
CI / typecheck (pull_request) Successful in 1m40s
CI / security (pull_request) Successful in 1m51s
CI / e2e_tests (pull_request) Successful in 4m43s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 5m13s
CI / unit_tests (pull_request) Successful in 6m38s
CI / docker (pull_request) Successful in 1m42s
CI / coverage (pull_request) Successful in 12m3s
CI / status-check (pull_request) Successful in 3s
CI / benchmark-regression (pull_request) Successful in 1h4m35s
Addresses the SHA tracking gap identified in review #4451. The reviewed_prs data structure was a set() that only tracked PR numbers, but Source C's get_last_reviewed_sha() call had no data to compare against for PRs adopted by the cross-session dedup logic. Changes: - reviewed_prs = set() -> reviewed_prs = {} (PR number -> HEAD SHA) - Source A dedup: reviewed_prs.add(pr.number) -> reviewed_prs[pr.number] = pr.head.sha - Source C: get_last_reviewed_sha(pr.number) -> reviewed_prs[pr.number] - Source C: reviewed_prs.discard() -> del reviewed_prs[] - Result processing: reviewed_prs.add(pr_number) -> reviewed_prs[pr_number] = 'done' (sentinel) or reviewed_prs[pr_number] = result.pr.head.sha for changes_requested This ensures Source C can correctly detect when an implementor pushes new commits after a review, preventing the within-cycle race condition where a PR is simultaneously in reviewed_prs and work_items.